DROP RULE (Transact-SQL)
从当前数据库中删除一个或多个用户定义规则。
重要
Microsoft SQL Server 的下一版本中将删除 DROP RULE。 请不要在新的开发工作中使用 DROP RULE,并准备修改当前使用它们的应用程序。 请改用可以通过 CREATE TABLE 或 ALTER TABLE 的 CHECK 关键字创建的 CHECK 约束。 有关详细信息,请参阅 Unique Constraints and Check Constraints。
语法
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)
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈