DROP RULE (Transact-SQL)

Rimuove una o più regole definite dall'utente dal database corrente.

Nota importanteImportante

L'istruzione DROP RULE verrà rimossa nella prossima versione di MicrosoftSQL Server. Non utilizzare l'istruzione DROP RULE e pianificare la modifica delle applicazioni che ne fanno uso. Utilizzare invece i vincoli CHECK, che è possibile creare tramite la parola chiave CHECK nelle istruzioni CREATE TABLE o ALTER TABLE. Per ulteriori informazioni, vedere Vincoli CHECK.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • schema_name
    Nome dello schema a cui appartiene la regola.

  • rule
    Regola che si desidera rimuovere. I nomi delle regole devono essere conformi alle regole per gli identificatori. Per ulteriori informazioni sulle regole per gli identificatori, vedere Utilizzo degli identificatori come nomi di oggetti. Il nome dello schema della regola è facoltativo.

Osservazioni

Per eliminare una regola associata a una colonna o a un tipo di dati alias, è innanzitutto necessario disassociarla. Per disassociare la regola, utilizzare la stored procedure sp_unbindrule. Se si tenta di eliminare una regola prima di disassociarla, viene visualizzato un messaggio di errore e l'istruzione DROP RULE viene annullata.

Dopo l'eliminazione di una regola, i nuovi dati immessi in colonne precedentemente governate dalla regola vengono inseriti senza i vincoli della regola. I dati esistenti non vengono alterati in alcun modo.

L'istruzione DROP RULE non ha alcun effetto sui vincoli CHECK. Per ulteriori informazioni sull'eliminazione dei vincoli CHECK, vedere ALTER TABLE (Transact-SQL).

Autorizzazioni

Per eseguire l'istruzione DROP RULE, è necessario disporre almeno dell'autorizzazione ALTER per lo schema a cui appartiene la regola.

Esempi

Nell'esempio seguente viene disassociata e quindi eliminata la regola 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