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>
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émas1
, puis choisissezs2
comme schéma actuel et tentez de restaurer la tablet1
par ID (ou nom qualifié,s1.t1
), la tablet1
est restaurée dans le schémas1
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.
UNDROP s’appuie sur la fonction Time Travel de Snowflake. Un objet ne peut être restauré que si l’objet a été supprimé dans la Période de conservation des données. La valeur par défaut est 24 heures.
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;
+---------------------------------+
| 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 :
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;
+----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------+ | 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 | +----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------+
Annuler la suppression de
my_table
par ID de table. Pour restaurer l’avant-dernière table supprimée, utilisez l’ID408578
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);