DROP RULE (Transact-SQL)
Topic Status: Some information in this topic is preview and subject to change in future releases. Preview information describes new features or changes to existing features in Microsoft SQL Server 2016 Community Technology Preview 2 (CTP2).
Removes one or more user-defined rules from the current database.
DROP RULE will be removed in the next version of Microsoft SQL Server. Do not use DROP RULE in new development work, and plan to modify applications that currently use them. Instead, use CHECK constraints that you can create by using the CHECK keyword of CREATE TABLE or ALTER TABLE. For more information, see Unique Constraints and Check Constraints.
Applies to: SQL Server (SQL Server 2008 through current version).
To drop a rule, first unbind it if the rule is currently bound to a column or to an alias data type. To unbind the rule, use sp_unbindrule. If the rule is bound when you try to drop it, an error message is displayed and the DROP RULE statement is canceled.
After a rule is dropped, new data entered into the columns previously governed by the rule is entered without the constraints of the rule. Existing data is not affected in any way.
The DROP RULE statement does not apply to CHECK constraints. For more information about dropping CHECK constraints, see ALTER TABLE (Transact-SQL).
The following example unbinds and then drops the rule named VendorID_rule.
USE AdventureWorks2012; 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