Partilhar via


DROP RULE (Transact-SQL)

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

Observação importanteImportante

DROP RULE será removida na próxima versão do Microsoft SQL Server. Não use DROP RULE em um novo trabalho de desenvolvimento e planeje modificar os aplicativos que atualmente a utilizam. Em vez dela, use restrições CHECK que podem ser criadas usando a palavra-chave CHECK de CREATE TABLE ou ALTER TABLE. Para obter mais informações, consulte Restrições CHECK

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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

Argumentos

  • 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. Para obter mais informações sobre regras para identificadores, consulte Utilizando identificadores como nomes de objetos. 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 instrução DROP RUL 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 sofrem nenhuma alteração.

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

Permissões

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

Exemplos

O exemplo a seguir desvincula e descarta a regra chamada 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