UNDROP SCHEMA¶
Restaure a versão mais recente de um esquema descartado.
- Consulte também:
CREATE SCHEMA , ALTER SCHEMA , DESCRIBE SCHEMA , DROP SCHEMA , SHOW SCHEMAS
Sintaxe¶
UNDROP SCHEMA <name>
Parâmetros¶
name
Especifica o identificador para o esquema a ser restaurado. Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.
Notas de uso¶
Um esquema só pode ser restaurado no banco de dados que o continha no momento de sua exclusão. Por exemplo, se você criar e descartar um esquema
s1
no banco de dadosdb1
, alterar o banco de dados atual paradb2
e tentar restaurar o esquemas1
pelo ID (ou nome totalmente qualificado,db1.s1
), o esquemas1
será restaurado no banco de dadosdb1
em vez de no banco de dados atual,db2
.Se já existir um esquema com o mesmo nome, um erro será retornado.
UNDROP conta com o recurso Snowflake Time Travel. Um objeto só pode ser restaurado se o objeto foi excluído dentro do Período de retenção de dados. O valor padrão é 24 horas.
Tabelas híbridas que pertencem ao esquema especificado não são descartadas.
Se você tiver vários esquemas descartados com o mesmo nome, poderá usar a palavra-chave IDENTIFIER com o identificador gerado pelo sistema (de Exibição SCHEMATA) para especificar qual esquema restaurar. O nome do esquema restaurado permanece o mesmo. Consulte Exemplos.
Nota
Sé é possível usar o identificador gerado pelo sistema com a palavra-chave IDENTIFIER() ao executar o comando UNDROP para tabelas, esquemas e bancos de dados.
Exemplos¶
Exemplo básico¶
Restaurar a versão mais recente de um esquema descartado (este exemplo se baseia nos exemplos fornecidos para DROP SCHEMA):
UNDROP SCHEMA myschema;
+----------------------------------------+
| status |
|----------------------------------------|
| Schema MYSCHEMA successfully restored. |
+----------------------------------------+
SHOW SCHEMAS HISTORY;
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+------------+
| created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | dropped_on |
|---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+------------|
| Fri, 13 May 2016 17:26:07 -0700 | INFORMATION_SCHEMA | N | N | MYTESTDB | | Views describing the contents of schemas in this database | | 1 | [NULL] |
| Tue, 17 Mar 2015 17:18:42 -0700 | MYSCHEMA | N | N | MYTESTDB | PUBLIC | | | 1 | [NULL] |
| Tue, 17 Mar 2015 16:57:04 -0700 | PUBLIC | N | Y | MYTESTDB | PUBLIC | | | 1 | [NULL] |
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+------------+
UNDROP esquema usando o ID de esquema¶
Restaure um esquema descartado pelo ID usando IDENTIFIER(). É possível encontrar o ID do esquema específico a ser restaurado usando a coluna schema_id
em Exibição SCHEMATA. Por exemplo, se você tiver vários esquemas descartados nomeados s1
e quiser restaurar o penúltimo esquema descartado s1
, siga estas etapas:
Encontre o ID do esquema descartado na exibição SCHEMATA Account Usage:
SELECT schema_id, schema_name, catalog_name, created, deleted, comment FROM SNOWFLAKE.ACCOUNT_USAGE.SCHEMATA WHERE schema_name = 'S1' AND catalog_name = 'DB1' AND deleted IS NOT NULL ORDER BY deleted;
+-----------+-------------+---------------+-------------------------------+-------------------------------+---------+ | SCHEMA_ID | SCHEMA_NAME | CATALOG_NAME | CREATED | DELETED | COMMENT | |-----------+-------------+---------------+-------------------------------+-------------------------------+---------| | 797 | S1 | DB1 | 2024-07-01 17:53:01.955 -0700 | 2024-07-01 17:53:11.889 -0700 | NULL | | 798 | S1 | DB1 | 2024-07-01 17:53:11.889 -0700 | 2024-07-01 17:53:16.327 -0700 | NULL | | 799 | S1 | DB1 | 2024-07-01 17:53:16.327 -0700 | 2024-07-01 17:53:25.066 -0700 | NULL | +-----------+-------------+---------------+-------------------------------+-------------------------------+---------+
Restaure o esquema
s1
usando o ID de esquema. Para restaurar o penúltimo esquema excluído, use o esquema ID798
da saída da instrução anterior. Após executar a seguinte instrução, o esquema é restaurado com seu nome original,s1
:UNDROP SCHEMA IDENTIFIER(798);