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;