UNDROP TABLE

Restaure la version la plus récente d’une table détruite.

Voir aussi :

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

Syntaxe

UNDROP TABLE <name>
Copy

Paramètres

name

Indique l’identificateur de la table à restaurer. Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.

Notes sur l’utilisation

  • Les tables ne peuvent être restaurées que dans la base de données et le schéma qui contenaient la table au moment de la suppression. Par exemple, si vous créez et supprimez une table t1 dans le schéma s1, puis choisissez s2 comme schéma actuel et tentez de restaurer la table t1 par ID (ou nom qualifié, s1.t1), la table t1 est restaurée dans le schéma s1 plutôt que dans le schéma actuel, s2.

  • Si une table portant le même nom existe déjà, une erreur est renvoyée.

  • Si vous avez plusieurs tables supprimées avec le même nom, vous pouvez utiliser le IDENTIFIER mot-clé avec l’identificateur généré par le système (à partir de Vue TABLES) pour spécifier quelle table restaurer. Le nom de la table restaurée reste le même. Voir des exemples.

    Note

    Vous ne pouvez utiliser l’identifiant généré par le système qu’avec le mot-clé IDENTIFIER() lors de l’exécution de la commande UNDROP pour les tables, les schémas et les bases de données.

  • Vous ne pouvez pas annuler la suppression d’une table hybride.

Exemples

Exemple de base

Restaurer la version la plus récente d’une table détruite (cet exemple s’appuie sur les exemples fournis pour DROP TABLE) :

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

UNDROP la table en utilisant l’ID de la table

Restaurer une table supprimée par ID en utilisant IDENTIFIER(). Vous pouvez trouver l’ID de la table spécifique dont vous souhaitez annuler la suppression en utilisant la colonne table_id dans Vue TABLES. Par exemple, si vous avez supprimé plusieurs tables nommées my_table et que vous souhaitez restaurer l’avant-dernière table supprimée my_table, procédez comme suit :

  1. Trouver l’ID de la table supprimée dans la vue 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. Annuler la suppression de my_table par ID de table. Pour restaurer l’avant-dernière table supprimée, utilisez l’ID 408578 de table à partir de la sortie de l’instruction précédente. Après avoir exécuté l’instruction suivante, la table est restaurée avec son nom d’origine, my_table :

    UNDROP TABLE IDENTIFIER(408578);
    
    Copy