Condividi tramite


DROP RULE (Transact-SQL)

Si applica a:SQL ServerIstanza gestita di SQL di Azure

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

Importante

DROP RULE verrà rimosso in una versione futura di SQL Server. Non usare DROP RULE in un nuovo lavoro di sviluppo e pianificare la modifica delle applicazioni che attualmente le usano. Usare invece CHECK vincoli che è possibile creare usando la CHECK parola chiave CREATE TABLE o ALTER TABLE. Per altre informazioni, vedere Unique Constraints and Check Constraints.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

IF EXISTS

Si applica a: SQL Server 2016 (13.x) e versioni successive

Rimuove in modo condizionale la regola solo se esiste già.

schema_name

Nome dello schema a cui appartiene la regola.

rule

Regola da rimuovere. I nomi di regola devono essere conformi alle regole per gli identificatori. 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 annullare l'associazione della regola, usare sp_unbindrule. Se la regola viene associata quando si tenta di eliminarla, 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 sono interessati in alcun modo.

L'istruzione DROP RULE non si applica ai CHECK vincoli. Per altre informazioni sull'eliminazione dei CHECK vincoli, vedere ALTER TABLE.

Autorizzazioni

Per eseguire DROP RULEalmeno , un utente deve disporre ALTER dell'autorizzazione per lo schema a cui appartiene la regola.

Esempi

Nell'esempio seguente viene disassociata e quindi eliminata la regola VendorID_rule.

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