Share via


DROP TYPE (Transact-SQL)

現在のデータベースから、別名データ型または共通言語ランタイム (CLR) ユーザー定義型を削除します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

DROP TYPE [ schema_name. ] type_name [ ; ]

引数

  • 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 ;