DROP RULE (Transact-SQL)
Удаляет из текущей базы данных одно или несколько пользовательских правил.
Важно! |
---|
Инструкция DROP RULE будет удалена в следующей версии Microsoft SQL Server. Не следует использовать инструкцию DROP RULE при создании новых приложений, и рекомендуется запланировать изменение тех приложений, в которых она используется. Пользуйтесь вместо этого проверочными ограничениями, которые создаются при помощи ключевого слова CHECK в инструкциях CREATE TABLE и ALTER TABLE. Дополнительные сведения см. в разделе Ограничения CHECK. |
Синтаксис
DROP RULE { [ schema_name . ] rule_name } [ ,...n ] [ ; ]
Аргументы
schema_name
Имя схемы, к которой относится правило.rule
Удаляемое правило. Имена правил должны соответствовать требованиям к именам идентификаторов. Дополнительные сведения о правилах для идентификаторов см. в разделе Использование идентификаторов в качестве имен объектов. Указание имени схемы для правил необязательно.
Замечания
Если правило привязано к столбцу или псевдониму типа данных, то перед его удалением необходимо удалить привязку при помощи хранимой процедуры sp_unbindrule. Если в момент удаления правило привязано, то выводится сообщение об ошибке, и инструкция DROP RULE отменяется.
После удаления правила новые данные, вводимые в столбцы, ранее управлявшиеся этим правилом, больше им не ограничиваются. На существующие данные удаление правила не влияет.
Инструкция DROP RULE не применяется к проверочным ограничениям. Дополнительные сведения об удалении проверочных ограничений см. в разделе ALTER TABLE (Transact-SQL).
Разрешения
Для выполнения инструкции DROP RULE пользователь, как минимум, должен иметь разрешение ALTER на схему, которой принадлежит правило.
Примеры
Следующий пример отменяет привязку и затем удаляет правило с именем VendorID_rule.
USE AdventureWorks2008R2;
GO
IF OBJECT_ID (N'VendorID_rule', N'R') IS NOT NULL
BEGIN
EXEC sp_unbindrule 'Production.ProductVendor.BusinessEntityID';
DROP RULE VendorID_rule;
END;
GO