DROP RULE (Transact-SQL)
Rimuove una o più regole definite dall'utente dal database corrente.
Importante |
---|
L'istruzione DROP RULE verrà rimossa nella prossima versione di Microsoft SQL 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. |
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 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