Składnia:
ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES
Przykład:
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.
Uwagi:
Opcjonalna nazwa ograniczenia:
Jeśli pominiesz CONSTRAINT D_SomeTable_SomeCol
wtedy SQL Server automatycznie wygeneruje
Domyślne ograniczenie o zabawnej nazwie, takiej jak:DF__SomeTa__SomeC__4FB7FEF6
Opcjonalne oświadczenie z wartościami: WITH VALUES
jest potrzebne tylko wtedy, gdy kolumna dopuszcza wartość Null
i chcesz, aby wartość domyślna była używana dla istniejących rekordów.
Jeśli kolumna ma wartość NOT NULL
, automatycznie użyje wartości domyślnej
dla wszystkich istniejących rekordów, niezależnie od tego, czy określisz WITH VALUES
czy nie.
Jak działają wstawki z ograniczeniem domyślnym:
Jeśli wstawisz rekord do SomeTable
i nie Określ SomeCol
, to będzie domyślnie 0
.
Jeśli wstawisz rekord i Określ SomeCol
wartość jako NULL
(a Twoja kolumna zezwala na wartości null),
wtedy ograniczenie domyślne nie być używany i NULL
zostanie wstawiona jako wartość.
Notatki zostały opracowane na podstawie wspaniałych opinii wszystkich przedstawionych poniżej.
Specjalne podziękowania dla:
@Yatrix, @WalterStabosz, @YahooSerious i @StackMan za ich komentarze.