分享方式:


DROP RULE (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

從目前資料庫移除一或多個使用者自訂的規則。

重要

DROP RULE 將會在未來的 SQL Server 版本中移除。 請勿在新的開發工作中使用 DROP RULE ,並計劃修改目前使用這些工作的應用程式。 CHECK請改用CHECK您可以使用 CREATE TABLE 或 ALTER TABLE 關鍵詞建立的條件約束。 如需詳細資訊,請參閱 Unique Constraints and Check Constraints

Transact-SQL 語法慣例

Syntax

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

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

IF EXISTS

適用於:SQL Server 2016 (13.x) 和更新版本

只有在規則已存在時,才能有條件地將其卸除。

schema_name

規則所屬的架構名稱。

rule

要移除的規則。 規則名稱必須符合識別碼的規則。 您可以選擇性地指定規則結構描述名稱。

備註

若要卸除規則,且規則目前繫結了資料行或別名資料類型,請先將它解除繫結。 若要解除規則的系結,請使用 sp_unbindrule。 如果您嘗試卸除規則時系結規則,則會顯示錯誤訊息並 DROP RULE 取消語句。

在卸除規則之後,會輸入規則先前管理的資料行中所輸入的新資料,但不會有規則的條件約束。 現有的數據不會以任何方式受到影響。

語句 DROP RULE 不適用於 CHECK 條件約束。 如需卸除 CHECK 條件約束的詳細資訊,請參閱 ALTER TABLE

權限

若要執行 DROP RULE,使用者至少必須擁有 ALTER 規則所屬架構的許可權。

範例

下列範例會解除繫結再卸除名稱為 VendorID_rule 的規則。

EXEC sp_unbindrule 'Production.ProductVendor.VendorID';
DROP RULE VendorID_rule;