Definizioni DEFAULT
Ogni colonna di un record deve contenere un valore, anche se NULL. Esistono situazioni in cui è necessario caricare una riga di dati in una tabella, ma non si conosce il valore di una colonna o il valore non esiste ancora. Se la colonna supporta i valori Null, è possibile caricare la riga con un valore Null. Poiché non è consigliabile utilizzare colonne che supportano i valori Null, una soluzione migliore consiste nel creare una definizione DEFAULT per la colonna, se possibile. Ad esempio, è pratica comune specificare zero come valore predefinito per le colonne numeriche oppure N/D come valore predefinito per le colonne stringa quando non viene specificato alcun valore.
Quando si carica una riga in una tabella con una definizione DEFAULT per una colonna, si indica in modo implicito al Motore di database di SQL Server 2005 di inserire un valore predefinito nella colonna quando non è specificato un valore.
[!NOTA] È inoltre possibile impostare esplicitamente il Motore di database in modo da inserire un valore predefinito per una colonna utilizzando la clausola DEFAULT VALUES dell'istruzione INSERT.
Se per una colonna che non supporta i valori Null non è stata impostata una definizione DEFAULT, è necessario specificare esplicitamente un valore per la colonna, altrimenti il Motore di database restituirà un errore indicante che la colonna non supporta i valori Null.
Nella tabella seguente viene indicato il valore che verrà effettivamente inserito in una colonna in base alla definizione DEFAULT e all'opzione scelta per il supporto di valori Null per la colonna.
Definizione di colonna | Nessuna voce, nessuna definizione DEFAULT | Nessuna voce, definizione DEFAULT | Immissione di un valore Null |
---|---|---|---|
Consente valori Null |
NULL |
Valore predefinito |
NULL |
Non consente valori Null |
Error |
Valore predefinito |
Error |
Vedere anche
Concetti
Supporto dei valori Null
Creazione e modifica delle definizioni DEFAULT
Altre risorse
CREATE TABLE (Transact-SQL)
ALTER TABLE (Transact-SQL)
DROP TABLE (Transact-SQL)
INSERT (Transact-SQL)