Syntaks:
ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES
Eksempel:
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.
Bemærkninger:
Valgfrit begrænsningsnavn:
Hvis du udelader CONSTRAINT D_SomeTable_SomeCol
så vil SQL Server autogenerere
en standardkontrænt med et sjovt navn som:DF__SomeTa__SomeC__4FB7FEF6
Valgfri med-værdierklæring:
og du vil have standardværdien brugt til eksisterende poster.
Hvis din kolonne er IKKE NULL
, så vil den automatisk bruge standardværdien
for alle eksisterende poster, uanset om du angiver WITH VALUES
eller ej.
Sådan fungerer indsætninger med en standardbegrænsning:
Hvis du indsætter en post i SomeTable
og gør ikke Angiv SomeCol
's værdi, så vil den som standard være 0
.
Hvis du indsætter en Record og Angiv SomeCol
's værdi som NULL
(og din kolonne tillader nul),
så vil standardbegrænsningen ikke bruges og NULL
vil blive indsat som værdien.
Noter var baseret på alles gode feedback nedenfor.
Særlig tak til:
@Yatrix, @WalterStabosz, @YahooSerious og @StackMan for deres kommentarer.