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


DROP RULE (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure

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

Внимание

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

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

IF EXISTS

Область применения: SQL Server 2016 (13.x) и более поздних версий

Условное удаление правила только в том случае, если оно уже существует.

schema_name

Имя схемы, к которой принадлежит правило.

rule

Правило, которое необходимо удалить. Имена правил должны соответствовать требованиям, предъявляемым к идентификаторам. Указание имени схемы для правил необязательно.

Замечания

Если правило привязано к столбцу или псевдониму типа данных, то перед его удалением необходимо удалить привязку Чтобы отменить привязку правила, используйте sp_unbindrule. Если правило привязано при попытке удалить его, отображается сообщение об ошибке и DROP RULE инструкция отменяется.

После удаления правила новые данные, вводимые в столбцы, ранее управлявшиеся этим правилом, больше им не ограничиваются. Существующие данные не затрагиваются каким-либо образом.

Оператор DROP RULE не применяется к CHECK ограничениям. Дополнительные сведения об удалении CHECK ограничений см. в разделе ALTER TABLE.

Разрешения

Чтобы выполнить DROP RULE, как минимум, пользователь должен иметь ALTER разрешение на схему, к которой принадлежит правило.

Примеры

Следующий пример отменяет привязку и затем удаляет правило с именем VendorID_rule.

EXEC sp_unbindrule 'Production.ProductVendor.VendorID';
DROP RULE VendorID_rule;