Compartilhar 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 MicrosoftSQL 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, desassocie-a se ela estiver atualmente associada a uma coluna ou a um tipo de dados de alias. Para desassociar a regra, use sp_unbindrule. Se a regra estiver associada 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 desasocia e descarta a regra chamada VendorID_rule.

USE AdventureWorks;
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