DROP RULE (Transact-SQL)

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

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

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

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

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

Синтаксис

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 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

См. также

Справочник

CREATE RULE (Transact-SQL)

sp_bindrule (Transact-SQL)

sp_help (Transact-SQL)

sp_helptext (Transact-SQL)

sp_unbindrule (Transact-SQL)

USE (Transact-SQL)