Syntax:
ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES
Exempel:
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.
Anmärkningar:
Valfritt begränsningsnamn:
Om du utelämnar CONSTRAINT D_SomeTable_SomeCol
då kommer SQL Server att autogenerera
en Default-Contraint med ett roligt namn som:DF__SomeTa__SomeC__4FB7FEF6
Valfritt med-värden-deklaration:
och du vill att standardvärdet ska användas för befintliga poster.
Om din kolumn är NOT NULL
, då kommer den automatiskt att använda standardvärdet
för alla befintliga poster, oavsett om du anger WITH VALUES
eller inte.
Så fungerar inlägg med en standardbegränsning:
Om du infogar en post i SomeTable
och gör inte Ange SomeCol
s värde, kommer det att vara standard till 0
.
Om du infogar en post och Ange SomeCol
s värde som NULL
(och din kolumn tillåter null),
då kommer standardbegränsningen inte användas och NULL
kommer att infogas som värdet.
Anteckningar baserades på allas fantastiska feedback nedan.
Särskilt tack till:
@Yatrix, @WalterStabosz, @YahooSerious och @StackMan för deras kommentarer.