DROP SEQUENCE¶
現在のスキーマ/指定されたスキーマからシーケンスを削除します。
- こちらもご参照ください。
CREATE SEQUENCE 、 ALTER SEQUENCE 、 SHOW SEQUENCES 、 DESCRIBE SEQUENCE
構文¶
DROP SEQUENCE [ IF EXISTS ] <name> [ CASCADE | RESTRICT ]
パラメーター¶
nameドロップするシーケンスの識別子を指定します。
シーケンス識別子が完全修飾されていない場合(
db_name.schema_name.sequence_nameまたはschema_name.sequence_nameの形式)、コマンドは、セッションの現在のスキーマにあるシーケンスを探します。CASCADE | RESTRICTSnowflakeでは、キーワード
CASCADEとRESTRICTを構文的に使用できますが、Snowflakeはそれらには作用しません。たとえば、CASCADEキーワードでシーケンスをドロップしても、そのシーケンスを使用するテーブルは実際にはドロップされません。RESTRICTキーワードを使用してシーケンスをドロップしても、テーブルがまだシーケンスを使用している場合、警告は発行されません。
使用上の注意¶
シーケンスをドロップするには、シーケンスの所有権の権限を持つロールを使用する必要があります。
シーケンスをドロップした後、同じ名前のシーケンスを作成すると、シーケンスの新しいバージョンが作成されます。新しいシーケンスは、古いシーケンスが中断したところからの番号の生成を再開しません。
シーケンスをドロップする前に、シーケンスを参照しているテーブルまたは他のデータベースオブジェクトが ない ことを確認してください。
ドロップされたシーケンスがテーブルの
DEFAULT句で参照されている場合は、そのテーブルに対してGET_DDL()を呼び出すと、テーブルを作成した DDL ではなくエラーが発生します。
IF EXISTS 句が指定されており、ターゲットオブジェクトが存在しない場合、コマンドはエラーを返さずに正常に完了します。
例¶
シーケンスをドロップします。
DROP SEQUENCE IF EXISTS invoice_sequence_number;