Поделиться через


DROP RULE (Transact-SQL)

Удаляет из текущей базы данных одно или несколько пользовательских правил.

Важное примечаниеВажно!

Инструкция DROP RULE будет удалена в следующей версии Microsoft SQL Server. Не следует использовать инструкцию DROP RULE при создании новых приложений, и рекомендуется запланировать изменение тех приложений, в которых она используется. Пользуйтесь вместо этого проверочными ограничениями, которые создаются при помощи ключевого слова CHECK в инструкциях CREATE TABLE и ALTER TABLE. Дополнительные сведения см. в разделе Ограничения CHECK.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

DROP RULE { [ schema_name . ] rule_name } [ ,...n ] [ ; ]

Аргументы

Замечания

Если правило привязано к столбцу или псевдониму типа данных, то перед его удалением необходимо удалить привязку при помощи хранимой процедуры 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