UNDROP TABLE

Restabelece a versão mais recente de uma tabela descartada.

Consulte também:

CREATE TABLE , ALTER TABLE , DROP TABLE , SHOW TABLES , DESCRIBE TABLE

Sintaxe

UNDROP TABLE <name>
Copy

Parâmetros

name

Especifica o identificador para a tabela a ser restaurada. 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

  • As tabelas só podem ser restauradas no banco de dados e no esquema que continham a tabela no momento da exclusão. Por exemplo, se você criar e descartar uma tabela t1 no esquema s1, alterar o esquema atual para s2 e tentar restaurar a tabela t1 pelo ID (ou nome qualificado, s1.t1), a tabela t1 será restaurada no esquema s1 em vez de no esquema atual, s2.

  • Se já existir uma tabela com o mesmo nome, um erro é devolvido.

  • Se você tiver várias tabelas excluídas com o mesmo nome, poderá usar a palavra-chave IDENTIFIER com o identificador gerado pelo sistema (de Exibição TABLES) para especificar qual tabela restaurar. O nome da tabela restaurada 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.

  • Não é possível restaurar uma tabela híbrida.

Exemplos

Exemplo básico

Restaurar a versão mais recente de uma tabela descartada (este exemplo se baseia nos exemplos fornecidos para DROP TABLE):

UNDROP TABLE t2;
Copy
+---------------------------------+
| status                          |
|---------------------------------|
| Table T2 successfully restored. |
+---------------------------------+

UNDROP a tabela usando o ID de tabela

Restaure uma tabela descartada pelo ID usando IDENTIFIER(). É possível encontrar o ID da tabela específica a ser descartada usando a coluna table_id em Exibição TABLES. Por exemplo, se você tiver várias tabelas descartadas chamadas my_table e quiser restaurar a penúltima tabela descartada my_table, siga estas etapas:

  1. Encontre o ID da tabela descartada na exibição TABLES Account Usage:

    SELECT table_id,
      table_name,
      table_schema,
      table_catalog,
      created,
      deleted,
      comment
    FROM SNOWFLAKE.ACCOUNT_USAGE.TABLES
    WHERE table_catalog = 'DB1'
    AND table_schema = 'S1'
    AND table_name = 'MY_TABLE'
    AND deleted IS NOT NULL
    ORDER BY deleted;
    
    Copy
    +----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------+
    | TABLE_ID | TABLE_NAME | TABLE_SCHEMA | TABLE_CATALOG | CREATED                       | DELETED                       | COMMENT |
    |----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------|
    |   408578 | MY_TABLE   | S1           | DB1           | 2024-07-01 15:39:07.565 -0700 | 2024-07-01 15:40:28.161 -0700 | NULL    |
    +----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------+
    |   408607 | MY_TABLE   | S1           | DB1           | 2024-07-01 17:43:07.565 -0700 | 2024-07-01 17:44:28.161 -0700 | NULL    |
    +----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------+
    
  2. Restaure my_table pelo ID de tabela. Para restaurar a penúltima tabela excluída, use o ID de tabela 408578 da saída da instrução anterior. Após executar a seguinte instrução, a tabela será restaurada com seu nome original, my_table:

    UNDROP TABLE IDENTIFIER(408578);
    
    Copy