Compartilhar via


DROP RULE (Transact-SQL)

Aplica-se a: Instância Gerenciada de SQL do Azure do SQL Server

Remove uma ou mais regras definidas pelo usuário do banco de dados atual.

Importante

DROP RULE será removido em uma versão futura do SQL Server. Não use DROP RULE em novos trabalhos de desenvolvimento e planeje modificar os aplicativos que os usam atualmente. Em vez disso, use CHECK restrições que você pode criar usando a CHECK palavra-chave CREATE TABLE ou ALTER TABLE. Para obter mais informações, consulte Unique Constraints and Check Constraints.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

IF EXISTS

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores

Remove condicionalmente a regra somente se ela já existe.

schema_name

O nome do esquema ao qual a regra pertence.

rule

A regra a ser removida. Nomes de regras precisam ser compatíveis com as regras para identificadores. A especificação do esquema da regra é opcional.

Comentários

Para descartar uma regra, primeiro, desvincule-a se ela estiver atualmente vinculada a uma coluna ou a um tipo de dados de alias. Para desvincular a regra, use sp_unbindrule. Se a regra estiver vinculada quando você tentar descartá-la, uma mensagem de erro será exibida e a DROP RULE instrução será cancelada.

Depois que a regra é descartada, os novos dados inseridos nas colunas anteriormente controladas pela regra não são afetados por suas restrições. Os dados existentes não são afetados de forma alguma.

A DROP RULE instrução não se aplica a CHECK restrições. Para obter mais informações sobre como descartar CHECK restrições, consulte ALTER TABLE.

Permissões

Para executar DROP RULEo , no mínimo, um usuário deve ter ALTER permissão no esquema ao qual a regra pertence.

Exemplos

O exemplo a seguir desvincula e descarta a regra chamada VendorID_rule.

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