DROP RULE (Transact-SQL)

1 つ以上のユーザー定義のルールを現在のデータベースから削除します。

ms186791.note(ja-jp,SQL.90).gif重要 :
DROP RULE は Microsoft SQL Server の今後のバージョンでは削除される予定です。新規の開発作業では DROP RULE を使用せず、現在これらを使用しているアプリケーションは修正するようにしてください。代わりに、CREATE TABLE または ALTER TABLE の CHECK キーワードを使用して作成できる CHECK 制約を使用してください。詳細については、「CHECK 制約」を参照してください。

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

構文

DROP RULE { [ schema_name . ] rule_name } [ ,...n ] [ ; ]

引数

schema_name

ルールが属するスキーマの名前です。

rule

削除するルールです。ルール名は、識別子のルールに従っている必要があります。識別子のルールの詳細については、「オブジェクト名としての識別子の使用」を参照してください。ルールのスキーマ名の指定は省略可能です。

解説

ルールを削除するには、そのルールが列または別名データ型に現在バインドされている場合、まず、このバインドを解除します。ルールのバインドを解除するには、sp_unbindrule を使用します。バインドされているルールを削除しようとすると、エラー メッセージが表示され、DROP RULE ステートメントは取り消されます。

ルールを削除すると、以前はそのルールに制御されていた列に新しいデータを入力しても、ルールの制約を受けなくなります。既存のデータはまったく影響を受けません。

DROP RULE ステートメントは、CHECK 制約には適用されません。CHECK 制約の削除の詳細については、「ALTER TABLE (Transact-SQL)」を参照してください。

権限

DROP RULE を実行するには、少なくとも、ルールが属するスキーマに対する ALTER 権限が必要です。

次の例では、VendorID_rule というルールのバインドを解除し、削除します。

USE AdventureWorks;
GO
IF EXISTS (SELECT name FROM sysobjects
         WHERE name = 'VendorID_rule'
            AND type = 'R')
   BEGIN
      EXEC sp_unbindrule 'Production.ProductVendor.VendorID'
      DROP RULE VendorID_rule
   END
GO

参照

関連項目

CREATE RULE (Transact-SQL)
sp_bindrule (Transact-SQL)
sp_help (Transact-SQL)
sp_helptext (Transact-SQL)
sp_unbindrule (Transact-SQL)
USE (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手