DROP RULE (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
1 つ以上のユーザー定義のルールを現在のデータベースから削除します。
重要
DROP RULE
は、将来のバージョンの SQL Server で削除される予定です。 新しい開発作業では DROP RULE
を使用せず、現在使用しているアプリケーションを変更することを計画してください。 代わりに、CHECK
キーワードを使用して作成できるCHECK
制約を使用してください。 詳細については、「 Unique Constraints and Check Constraints」を参照してください。
構文
DROP RULE [ IF EXISTS ] { [ schema_name . ] rule_name } [ , ...n ]
[ ; ]
引数
IF EXISTS
適用対象: SQL Server 2016 (13.x) 以降のバージョン
条件付きでは既に存在する場合にのみ、ルールを削除します。
schema_name
ルールが属するスキーマの名前。
rule
削除するルール。 ルール名は、識別子の規則に従っている必要があります。 ルールのスキーマ名の指定は省略可能です。
注釈
ルールを削除するには、そのルールが列または別名データ型に現在バインドされている場合、まず、このバインドを解除します。 ルールのバインドを解除するには、 sp_unbindrule
を使用します。 削除しようとしたときにルールがバインドされている場合は、エラー メッセージが表示され、 DROP RULE
ステートメントが取り消されます。
ルールを削除すると、以前はそのルールに制御されていた列に新しいデータを入力しても、ルールの制約を受けなくなります。 既存のデータは、どのような影響も受けられません。
DROP RULE
ステートメントは、CHECK
制約には適用されません。 CHECK
制約の削除の詳細については、
アクセス許可
DROP RULE
を実行するには、少なくとも、ルールが属するスキーマに対するALTER
権限がユーザーに付与されている必要があります。
例
次の例では、VendorID_rule
というルールのバインドを解除し、削除します。
EXEC sp_unbindrule 'Production.ProductVendor.VendorID';
DROP RULE VendorID_rule;