DROP RULE (Transact-SQL)
适用于: SQL Server Azure SQL 托管实例
从当前数据库中删除一个或多个用户定义规则。
重要
DROP RULE
将在 SQL Server 的未来版本中删除。 请勿在新开发工作中使用 DROP RULE
,并计划修改当前使用它们的应用程序。 CHECK
请改用CHECK
可以使用 CREATE TABLE 或 ALTER TABLE 关键字创建的约束。 有关详细信息,请参阅 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
约束的详细信息,请参阅 ALTER TABLE。
权限
若要执行 DROP RULE
,用户必须至少对规则所属的架构具有 ALTER
权限。
示例
以下示例将解除绑定,然后删除名为 VendorID_rule
的规则。
EXEC sp_unbindrule 'Production.ProductVendor.VendorID';
DROP RULE VendorID_rule;