Unbinds a rule from a column or a user-defined data type in the current database.
sp_unbindrule [@objname =] 'object_name'
[, [@futureonly =] 'futureonly_flag']
Note object_name can contain the [ and ] characters as delimited identifier characters. For more information, see Delimited Identifiers.
0 (success) or 1 (failure)
None
To display the text of a rule, execute sp_helptext with the rule name as the parameter.
When a rule is unbound, the information about the binding is removed from the syscolumns table if the rule was bound to a column, and from the systypes table if the rule was bound to a user-defined data type.
When a rule is unbound from a user-defined data type, it is also unbound from any columns having that user-defined data type. The rule may also still be bound to columns whose data types were later changed by the ALTER COLUMN clause of an ALTER TABLE statement, you must specifically unbind the rule from these columns using sp_unbindrule and specifying the column name.
Execute permissions default to the object owner.
This example unbinds the rule from the startdate column of an employees table.
EXEC sp_unbindrule 'employees.startdate'
This example unbinds the rule from the user-defined data type ssn. It unbinds the rule from existing and future columns of that type.
EXEC sp_unbindrule ssn
This example unbinds the rule from the user-defined data type ssn without affecting existing ssn columns.
EXEC sp_unbindrule 'ssn', 'futureonly'
This example shows the use of delimited identifiers in the object_name.
CREATE TABLE [t.4] (c1 int) -- Notice the period as part of the table
-- name.
GO
CREATE RULE rule2 AS @value > 100
GO
EXEC sp_bindrule rule2, '[t.4].c1' -- The object contains two
-- periods; the first is part of the table name and the second
-- distinguishes the table name from the column name.
GO
EXEC sp_unbindrule '[t.4].c1'
CREATE RULE | sp_helptext |
DROP RULE | System Stored Procedures |
sp_bindrule |