DROP RULE (Transact-SQL)

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

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

重要

下一版的 Microsoft SQL Server 將移除 DROP RULE。 請勿在新的開發工作中使用 DROP RULE,並規劃修改目前使用 DROP RULE 的應用程式。 請改用 CHECK 條件約束,您可以利用 CREATE TABLEALTER TABLE 的 CHECK 關鍵字加以建立。 如需詳細資訊,請參閱 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 (SQL Server 2016 (13.x) 到最新版本)。

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

schema_name
這是規則所屬的結構描述名稱。

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

備註

若要卸除規則,且規則目前繫結了資料行或別名資料類型,請先將它解除繫結。 若要解除繫結規則,請使用 sp_unbindrule。 如果您試圖卸除規則時,規則仍是繫結的,便會出現一則錯誤訊息,且會取消 DROP RULE 陳述式。

在卸除規則之後,會輸入規則先前管理的資料行中所輸入的新資料,但不會有規則的條件約束。 現有資料完全不會受到影響。

DROP RULE 陳述式不適用於 CHECK 條件約束。 如需有關卸除 CHECK 條件約束的詳細資訊,請參閱 ALTER TABLE (Transact-SQL)

權限

若要執行 DROP RULE,使用者至少必須有規則所屬結構描述的 ALTER 權限。

範例

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

sp_unbindrule 'Production.ProductVendor.VendorID'  
DROP RULE VendorID_rule  
GO  

另請參閱

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