UNDROP TABLE¶
削除されたテーブルの最新バージョンを復元します。
- こちらもご参照ください。
- CREATE TABLE、 ALTER TABLE、 DROP TABLE、 SHOW TABLES、 DESCRIBE TABLE 
構文¶
UNDROP TABLE <name>
パラメーター¶
- name
- 復元するテーブルの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。 
使用上の注意¶
- テーブルは、削除時にそのテーブルが含まれていたデータベースとスキーマにのみ復元できます。例えば、スキーマ - s1でテーブル- t1を作成し、ドロップした後、現在のスキーマを- s2に変更し、 ID (または修飾名、- s1.t1)でテーブル- t1をリストアしようとすると、テーブル- t1は現在のスキーマ- s2ではなく、スキーマ- s1に復元されます。
- 同じ名前のテーブルが既に存在する場合、エラーが返されます。 
- 同じ名前の複数のドロップされたテーブルがある場合は、 IDENTIFIER キーワード とシステム生成識別子(TABLES ビュー)を使用して、復元するテーブルを指定できます。復元されたテーブルの名前は変わりません。 例 をご参照ください。 - 注釈 - ノートブック、テーブル、スキーマ、およびデータベースに対して UNDROP コマンドを実行する際に、 IDENTIFIER()キーワードでシステム生成された識別子のみを使用できます。 
- UNDROP は、Snowflake Time Travel の機能に依存しています。オブジェクトが データ保持期間 内で削除された場合にのみ、オブジェクトを復元できます。デフォルト値は24時間です。 
- ハイブリッド・テーブルをアンドロップすることはできません。 
例¶
基本的な例¶
ドロップされたテーブルの最新バージョンを復元します(この例は DROP TABLE に提供された例に基づいています)。
UNDROP TABLE t2;
+---------------------------------+
| status                          |
|---------------------------------|
| Table T2 successfully restored. |
+---------------------------------+
テーブル ID を使用してテーブルを UNDROP¶
IDENTIFIER() を使用して、 ID によってドロップされたテーブルを復元します。 TABLES ビュー の table_id 列を使えば、特定のテーブルの ID を見つけることができます。たとえば、 my_table という名前の複数のドロップされたテーブルがあり、最後から2番目にドロップされたテーブル my_table を復元したい場合は、以下の手順に従ってください。
- Account Usage TABLES ビューで、ドロップされたテーブルのテーブル ID を見つけます。 - 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 | +----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------+ 
- テーブル ID で - my_tableをアンドロップする最後から2番目に削除されたテーブルを復元するには、前のステートメントの出力からテーブル ID- 408578を使います。以下のステートメントを実行すると、テーブルは元の名前、- my_tableで復元されます。- UNDROP TABLE IDENTIFIER(408578);