DROP DEFAULT (Transact-SQL)
Rimuove dal database corrente uno o più valori predefiniti creati dall'utente.
Importante: |
---|
L'istruzione DROP DEFAULT verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare DROP DEFAULT in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni che attualmente la utilizzano. In alternativa, utilizzare le definizioni di valori predefiniti che è possibile creare con la parola chiave DEFAULT dell'istruzione ALTER TABLE o CREATE TABLE. Per ulteriori informazioni, vedere Creazione e modifica delle definizioni DEFAULT. |
Convenzioni della sintassi Transact-SQL
Sintassi
DROP DEFAULT { [ schema_name . ] default_name } [ ,...n ] [ ; ]
Argomenti
- schema_name
Nome dello schema a cui appartiene il valore predefinito.
- default_name
Nome di un valore predefinito esistente. Per visualizzare un elenco dei valori predefiniti esistenti, eseguire sp_help. I valori predefiniti devono essere conformi alle regole per gli identificatori. Il nome dello schema predefinito è facoltativo.
Osservazioni
Prima di eliminare un valore predefinito associato a una colonna o un tipo di dati alias, è necessario disassociarlo tramite la stored procedura sp_unbindefault.
Se si aggiungono nuove righe senza specificare in modo esplicito un valore dopo avere eliminato un valore predefinito da una colonna che supporta valori Null, in tale posizione verrà inserita la stringa NULL. Se si aggiungono nuove righe senza specificare in modo esplicito un valore dopo avere eliminato un valore predefinito da una colonna NOT NULL, verrà visualizzato un messaggio di errore. Queste righe vengono aggiunte successivamente durante la normale esecuzione dell'istruzione INSERT.
Autorizzazioni
Per eseguire l'istruzione DROP DEFAULT, è necessario disporre almeno dell'autorizzazione ALTER per lo schema a cui appartiene il valore predefinito.
Esempi
A. Eliminazione di un valore predefinito
Se un valore predefinito non è associato a una colonna o un tipo di dati alias, è possibile eliminarlo semplicemente tramite l'istruzione DROP DEFAULT. Nell'esempio seguente viene rimosso il valore predefinito datedflt
creato dall'utente.
USE AdventureWorks;
GO
IF EXISTS (SELECT name FROM sys.objects
WHERE name = 'datedflt'
AND type = 'D')
DROP DEFAULT datedflt
GO
B. Eliminazione di un valore predefinito associato a una colonna
Nell'esempio seguente viene disassociato e quindi eliminato il valore predefinito phonedflt
associato alla colonna EmergencyContactPhone
della tabella Employee
.
USE AdventureWorks;
GO
IF EXISTS (SELECT name FROM sys.objects
WHERE name = 'phonedflt'
AND type = 'D')
BEGIN
EXEC sp_unbindefault 'Person.Contact.Phone'
DROP DEFAULT phonedflt
END
GO
Vedere anche
Riferimento
CREATE DEFAULT (Transact-SQL)
sp_helptext (Transact-SQL)
sp_help (Transact-SQL)
sp_unbindefault (Transact-SQL)