UNDROP SCHEMA

削除されたスキーマの最新バージョンを復元します。

こちらもご参照ください。

CREATE SCHEMAALTER SCHEMADESCRIBE SCHEMADROP SCHEMASHOW SCHEMAS

構文

UNDROP SCHEMA <name> 
Copy

パラメーター

name

復元するスキーマの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

使用上の注意

  • スキーマは、削除された時点でスキーマが含まれていたデータベースにのみ復元できます。たとえば、データベース db1 でスキーマ s1 を作成・削除した後、現在のデータベースを db2 に変更し、スキーマ s1 を ID (または完全修飾名 db1.s1 )で復元しようとすると、スキーマ s1 は現在のデータベース db2 ではなく、データベース db1 に復元されます。

  • 同じ名前のスキーマが既に存在する場合、エラーが返されます。

  • UNDROP は、Snowflake Time Travel の機能に依存しています。オブジェクトが データ保持期間 内で削除された場合にのみ、オブジェクトを復元できます。デフォルト値は24時間です。

  • 指定されたスキーマに属するハイブリッド・テーブルはアンドロップされません。

  • 同じ名前で複数のドロップされたスキーマがある場合は、 IDENTIFIER キーワード と、システムで生成された識別子(SCHEMATA ビュー)を使用して、復元するスキーマを指定できます。復元されたスキーマの名前は変わりません。 をご参照ください。

    注釈

    ノートブック、テーブル、スキーマ、およびデータベースに対して UNDROP コマンドを実行する際に、 IDENTIFIER()キーワードでシステム生成された識別子のみを使用できます。

基本的な例

ドロップされたスキーマの最新バージョンを復元します(この例は DROP SCHEMA に提供された例に基づいています)。

UNDROP SCHEMA myschema; 
Copy
+----------------------------------------+ | status | |----------------------------------------| | Schema MYSCHEMA successfully restored. | +----------------------------------------+ 
SHOW SCHEMAS HISTORY; 
Copy
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+------------+ | 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] | +---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+------------+ 

スキーマ ID を使用した UNDROP スキーマ

IDENTIFIER() を使用して、 ID によってドロップされたスキーマを復元します。 SCHEMATA ビューschema_id 列を使用して、アンドロップする特定のスキーマのスキーマ ID を見つけることができます。たとえば、 s1 という名前の複数のドロップされたスキーマがあり、最後から2番目にドロップされたスキーマ s1 を復元する場合は、以下の手順に従います。

  1. Account Usage SCHEMATA ビューで、削除されたスキーマのスキーマ ID を見つけます。

    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; 
    Copy
    +-----------+-------------+---------------+-------------------------------+-------------------------------+---------+ | 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 | +-----------+-------------+---------------+-------------------------------+-------------------------------+---------+ 
  2. スキーマ ID を使ってスキーマ s1 をアンドロップします。最後に削除されたスキーマから2番目のスキーマを復元するには、前のステートメントの出力からスキーマ ID 798 を使います。以下のステートメントを実行すると、スキーマは元の名前、 s1 で復元されます。

    UNDROP SCHEMA IDENTIFIER(798); 
    Copy