DROP TYPE (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
現在のデータベースから、別名データ型または共通言語ランタイム (CLR) ユーザー定義型を削除します。
構文
DROP TYPE [ IF EXISTS ] [ schema_name. ] type_name [ ; ]
引数
IF EXISTS
適用対象: SQL Server (SQL Server 2016 (13.x) から現在のバージョンまで)。
条件付きでは既に存在する場合にのみ、型を削除します。
schema_name
別名データ型またはユーザー定義型が属するスキーマの名前を指定します。
type_name
削除する別名データ型またはユーザー定義型の名前を指定します。
解説
次のいずれかに当てはまる場合には、DROP TYPE ステートメントは実行されません。
別名データ型またはユーザー定義型の列を含むテーブルがデータベースにある場合。 別名型またはユーザー定義型の列の情報は、sys.columns カタログ ビューまたは sys.column_type_usages カタログ ビューをクエリすることによって取得できます。
計算列、CHECK 制約、スキーマ バインド ビュー、およびスキーマ バインド関数の中には、別名型またはユーザー定義型への参照を含む定義を持つものもあります。 sys.sql_expression_dependencies カタログ ビューに対してクエリを実行することによって、これらの参照についての情報を取得できます。
データベースに関数、ストアド プロシージャ、またはトリガーが作成されていて、それらのルーチンが、削除しようとしている別名データ型またはユーザー定義型の変数やパラメーターを使用している場合。 別名型またはユーザー定義型のパラメーターについての情報は、sys.parameters カタログ ビューまたは sys.parameter_type_usages カタログ ビューに対するクエリを実行することによって取得できます。
アクセス許可
type_name に対する CONTROL 権限、または schema_name に対する ALTER 権限が必要です。
例
次の例では、ssn
という名前の型が現在のデータベースに既に作成されていることを前提としています。
DROP TYPE ssn ;