No Snowflake, enquanto as visualizações individuais não têm um comando UNDROP, restaurar um banco de dados descartado usando UNDROP DATABASE restabelece todos os seus objetos contidos, incluindo visualizações, desde que a restauração ocorra dentro do período de retenção de dados. Sabemos que isso ocorre porque a operação UNDROP para bancos de dados e esquemas aproveita o recurso Time Travel do Snowflake, que preserva o estado desses objetos por uma duração especificada após a exclusão.
Mas por que ele pode desfazer a exclusão da visualização no banco de dados, mas não individualmente?
A definição de objetos de BD (visualizações, UDFs, SP) deve ser controlada por versão para evitar tal situação.
Exemplo: Usando um repositório Git no Snowflake
A recuperação da definição de visualização excluída pode ser feita consultando SNOWFLAKE.ACCOUNT_USAGE.VIEWS :
Exemplo:
Consulta:
Conforme declarado na documentação , as exibições excluídas não podem ser recuperadas; elas devem ser recriadas. Uma vez excluída, as exibições não podem ser desfeitas porque elas são mais como um armazenamento de instruções de consulta do que de dados.
Além disso, não temos um undrop para uma visualização.
https://docs.snowflake.com/en/sql-reference/sql/undrop#syntax
No entanto, você pode usar a exibição query_history para obter o SQL da exibição descartada.
https://docs.snowflake.com/en/sql-reference/account-usage
https://docs.snowflake.com/en/sql-reference/info-schema#list-of-table-functions
Você pode usar QUERY_ID ou QUERY_TEXT como um filtro para recuperar a definição de exibição.