DROP SCHEMA¶
現在の/指定されたデータベースからスキーマを削除します。
- こちらもご参照ください。
CREATE SCHEMA、 ALTER SCHEMA、 DESCRIBE SCHEMA、 SHOW SCHEMAS、 UNDROP SCHEMA
構文¶
DROP SCHEMA [ IF EXISTS ] <name> [ CASCADE | RESTRICT ]
パラメーター¶
name
ドロップするスキーマの識別子を指定します。識別子にスペース、特殊文字、または大文字と小文字が混在する場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
スキーマ識別子が完全修飾されていない場合(
db_name.schema_name
の形式)、コマンドはセッションの現在のデータベースでスキーマを検索します。CASCADE | RESTRICT
スキーマ内のテーブルを参照する外部キーが存在する場合、スキーマをドロップできるかどうかを指定します。
CASCADE
スキーマおよびスキーマ内のすべてのオブジェクトをドロップします。これには、他のテーブルの外部キーによって参照される主キー/一意キーを持つテーブルが含まれます。RESTRICT
既存の外部キー参照に関する警告を返し、スキーマをドロップしません。
デフォルト:
CASCADE
使用上の注意¶
スキーマをドロップしても、システムから永久に削除されるわけではありません。ドロップされたスキーマのバージョンは、スキーマの
DATA_RETENTION_TIME_IN_DAYS
パラメーターで指定された日数の間、 Time Travel に保持されます。Time Travelの保持期間内に、ドロップされたスキーマは UNDROP SCHEMA コマンドを使用して復元できます。
Time Travelの保持期間が終了すると、ドロップされたスキーマの次の状態は、永続的か一時的かによって異なります。
永続スキーマは Fail-safe に移行します。Fail-safe(7日)では、ドロップされたスキーマを回復できますが、Snowflakeによってのみです。スキーマがFail-safeのままにすると、パージされます。
一時スキーマにはFail-safeがないため、Time Travelから外れるとパージされます。
ドロップされたスキーマがパージされると、回復できません。再作成する必要があります。
現在、スキーマが削除されると、子テーブルのデータ保持期間は、スキーマの保持とは異なるように明示的に設定されている場合、尊重されません。子テーブルは、スキーマと同じ期間保持されます。これらのテーブルのデータ保持期間を守るため、スキーマを削除する 前 に明示的に削除してください。
スキーマをドロップした後、同じ名前のスキーマを作成すると、新しいバージョンのスキーマが作成されます。以前のスキーマのドロップされたバージョンは、次の方法を使用して引き続き復元できます。
スキーマの現在のバージョンの名前を別の名前に変更します。
UNDROP SCHEMA コマンドを使用して、以前のバージョンを復元します。
ポリシーまたはタグがテーブルまたはビュー列にアタッチされている場合にスキーマを正常にドロップするには、ポリシーまたはタグがデータベースとスキーマ内で自己完結している必要があります。たとえば、
database_1
にはpolicy_1
が含まれ、policy_1
はdatabase_1
でのみ使用されます。それ以外では、 ダングリング参照 が発生します。ユーザーまたはアカウントにセッションポリシーまたはパスワードポリシーが設定されている場合、 DROP 操作は失敗します。
例¶
myschema
という名前のスキーマをドロップします( CREATE SCHEMA の例から):
DROP SCHEMA myschema; +--------------------------------+ | status | |--------------------------------| | MYSCHEMA successfully dropped. | +--------------------------------+ SHOW SCHEMAS; +---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+ | created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | |---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------| | Fri, 13 May 2016 17:26:07 -0700 | INFORMATION_SCHEMA | N | N | MYTESTDB | | Views describing the contents of schemas in this database | | 1 | | Tue, 17 Mar 2015 16:57:04 -0700 | PUBLIC | N | Y | MYTESTDB | PUBLIC | | | 1 | +---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+