Sintassi:
ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES
Esempio:
ALTER TABLE SomeTable
ADD SomeCol Bit NULL --Or NOT NULL.
CONSTRAINT D_SomeTable_SomeCol --When Omitted a Default-Constraint Name is autogenerated.
DEFAULT (0)--Optional Default-Constraint.
WITH VALUES --Add if Column is Nullable and you want the Default Value for Existing Records.
Note:
Nome vincolo facoltativo:
Se ometti CONSTRAINT D_SomeTable_SomeCol
quindi SQL Server genererà automaticamente
un vincolo predefinito con un nome divertente come:DF__SomeTa__SomeC__4FB7FEF6
Dichiarazione con valori facoltativa:
Il WITH VALUES
è necessario solo quando la colonna è annullabile
e si desidera utilizzare il valore predefinito per i record esistenti.
Se la colonna è NOT NULL
, utilizzerà automaticamente il valore predefinito
per tutti i record esistenti, indipendentemente dal fatto che tu specifichi WITH VALUES
oppure no.
Come funzionano gli inserti con un vincolo predefinito:
Se inserisci un record in SomeTable
e non Specifica SomeCol
's valore, quindi il valore predefinito sarà 0
.
Se inserisci un Record e Specifica SomeCol
's come NULL
(e la tua colonna consente valori nulli),
quindi il vincolo predefinito non essere utilizzato e NULL
verrà inserito come Valore.
Le note si basavano sull'ottimo feedback di tutti di seguito.
Un ringraziamento speciale a:
@Yatrix, @WalterStabosz, @YahooSerious e @StackMan per i loro commenti.