DROP SEQUENCE (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance

現在のデータベースからシーケンス オブジェクトを削除します。

Transact-SQL 構文表記規則

構文

DROP SEQUENCE [ IF EXISTS ] { database_name.schema_name.sequence_name | schema_name.sequence_name | sequence_name } [ ,...n ]  
 [ ; ]  

引数

IF EXISTS
適用対象: SQL Server (SQL Server 2016 (13.x) から現在のバージョンまで)。

条件付きではすでに存在する場合にのみ、シーケンスを削除します。

database_name
シーケンス オブジェクトが作成されたデータベースの名前を指定します。

schema_name
シーケンス オブジェクトが所属するスキーマの名前を指定します。

sequence_name
削除するシーケンスの名前です。 データ型は sysname です。

解説

番号の生成後、その番号とシーケンス オブジェクトは無関係になるため、生成された番号が使用されている場合でも、シーケンス オブジェクトは削除できます。

シーケンス オブジェクトはスキーマ バインドされないため、ストアド プロシージャまたはトリガーによって参照されているシーケンス オブジェクトは削除できます。 テーブルで既定値として参照されているシーケンス オブジェクトは削除できません。 シーケンスを参照しているオブジェクトの一覧がエラー メッセージに表示されます。

データベース内のすべてのシーケンス オブジェクトを一覧表示するには、次のステートメントを実行します。

SELECT sch.name + '.' + seq.name AS [Sequence schema and name]   
    FROM sys.sequences AS seq  
    JOIN sys.schemas AS sch  
        ON seq.schema_id = sch.schema_id ;  
GO  

セキュリティ

アクセス許可

スキーマに対する ALTER または CONTROL 権限が必要です。

Audit

DROP SEQUENCE を監査するには、SCHEMA_OBJECT_CHANGE_GROUP を監視します。

次の例では、現在のデータベースから CountBy1 という名前のシーケンス オブジェクトを削除します。

DROP SEQUENCE CountBy1 ;  
GO  

参照

ALTER SEQUENCE (Transact-SQL)
CREATE SEQUENCE (Transact-SQL)
NEXT VALUE FOR (Transact-SQL)
シーケンス番号