Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Istanza gestita di SQL di Azure
Rimuove dal database corrente uno o più valori predefiniti creati dall'utente.
Importante
DROP DEFAULTsarà rimosso nella prossima versione di Microsoft SQL Server. Non utilizzare DROP DEFAULT in nuovi lavori di sviluppo e pianificare di modificare le applicazioni che li utilizzano attualmente. Invece, usa definizioni predefinite che puoi creare usando la DEFAULT parola chiave di ALTER TABLE o CREATE TABLE.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
DROP DEFAULT [ IF EXISTS ] { [ schema_name . ] default_name } [ ,...n ] [ ; ]
Argomenti
SE ESISTE
Si applica a: SQL Server ( SQL Server 2016 (13.x) fino alla versione corrente).
Rimuove in modo condizionale l'impostazione predefinita solo se esiste già.
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 annullarne l'associazione eseguendo sp_unbindefault.
Se si aggiungono nuove righe senza specificare in modo esplicito un valore dopo avere eliminato un valore predefinito da una colonna che ammette 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 come parte del comportamento tipico INSERT delle isunzioni.
Autorizzazioni
Per eseguire DROP DEFAULT, almeno, un utente deve avere il permesso ALTER sullo schema a cui appartiene il predefinito.
Esempi
R. Eliminazione di un valore predefinito
Se un predefinito non è stato associato a una colonna o a un tipo di dato alias, può semplicemente essere eliminato usando DROP DEFAULT. Nell'esempio seguente viene rimosso il valore predefinito datedflt creato dall'utente.
USE AdventureWorks2022;
GO
IF EXISTS (SELECT name FROM sys.objects
WHERE name = 'datedflt'
AND type = 'D')
DROP DEFAULT datedflt;
GO
A partire da SQL Server 2016 (13.x) è possibile usare la sintassi seguente.
DROP DEFAULT IF EXISTS datedflt;
GO
B. Eliminazione di un valore predefinito associato a una colonna
Nell'esempio seguente viene disassociato e quindi eliminato il valore predefinito EmergencyContactPhone associato alla colonna Contact della tabella phonedflt.
USE AdventureWorks2022;
GO
BEGIN
EXEC sp_unbindefault 'Person.Contact.Phone'
DROP DEFAULT phonedflt
END;
GO
Vedi anche
CREATE DEFAULT (Transact-SQL)
sp_helptext (Transact-SQL)
sp_help (Transact-SQL)
sp_unbindefault (Transact-SQL)