DROP RULE (Transact-SQL)

从当前数据库中删除一个或多个用户定义的规则。

ms186791.note(zh-cn,SQL.90).gif重要提示:
Microsoft SQL Server 的未来版本将删除 DROP RULE。请避免在新开发工作中使用 DROP RULE,并考虑修改使用了此语句的应用程序。请使用可以通过 CREATE TABLEALTER 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 帮助