Więcej
Dodawanie kolumny z wartością domyślną do istniejącej tabeli w SQL Server
W jaki sposób można dodać kolumnę z wartością domyślną do istniejącej tabeli w SQL Server 2000 / SQL Server 2005?
2634
3
Składnia:
Przykład:
Uwagi:
Optional Constraint Name:
Jeśli pominiesz
CONSTRAINT D_SomeTable_SomeCol
to SQL Server automatycznie wygenerujeDefault-Contraint o śmiesznej nazwie jak:
DF__SomeTa__SomeC__4FB7FEF6
Opcjonalne oświadczenie With-Values:
Polecenie
WITH VALUES
jest potrzebne tylko wtedy, gdy kolumna jest Nullablei chcesz, aby wartość domyślna była używana dla istniejących rekordów.
Jeśli Twoja kolumna jest
NOT NULL
, wtedy automatycznie użyje wartości domyślnejdla wszystkich istniejących rekordów, niezależnie od tego, czy określisz
WITH VALUES
, czy nie.Jak działają wstawki z domyślnym ograniczeniem:
Jeśli wstawiasz Rekord do
JakiejśTabeli
i nie określasz wartościJakiegośCola
' wtedy domyślnie będzie to0
.Jeśli wstawisz Rekord i podasz wartość
SomeCol
's jakoNULL
(a twoja kolumna pozwala na null),wtedy Default-Constraint będzie nie użyty i
NULL
zostanie wstawiony jako wartość.Uwagi zostały oparte na wszystkich'wspaniałych opiniach poniżej.
Specjalne podziękowania dla:
@Yatrix, @WalterStabosz, @YahooSerious, and @StackMan for their Comments.
Włączenie DEFAULT wypełnia kolumnę w istniejących wierszach wartością domyślną, więc ograniczenie NOT NULL nie jest naruszone.
Artykuł MSDN ALTER TABLE (Transact-SQL) zawiera całą składnię alter table.