Mai mult
Adăugarea unei coloane cu o valoare implicită la un tabel existent în SQL Server
Cum se poate adăuga o coloană cu o valoare implicită la un tabel existent în SQL Server 2000 / SQL Server 2005?
2634
3
Sintaxă:
Exemplu:
Note:
Denumire opțională a constrângerii:
Dacă omiteți
CONSTRAINT D_SomeTable_SomeCol
, atunci SQL Server va genera automato Default-Contraint cu un nume amuzant ca:
DF__SomeTa__SomeC__4FB7FEF6
Declarație opțională With-Values:
Instrucțiunea
WITH VALUES
este necesară numai atunci când coloana dvs. este Nullableși doriți ca valoarea implicită să fie utilizată pentru înregistrările existente.
Dacă coloana dvs. este
NOT NULL
, atunci se va utiliza automat valoarea implicităpentru toate înregistrările existente, indiferent dacă specificați
WITH VALUES
sau nu.Cum funcționează inserările cu o restricție implicită:
Dacă inserați o înregistrare în
SomeTable
și nu nu specificați valoareaSomeCol
's, atunci aceasta va avea valoarea implicită0
.Dacă inserați o înregistrare și specificați valoarea
SomeCol
's caNULL
(și coloana dvs. permite nulități),atunci Default-Constraint nu*** va fi utilizat și
NULL
va fi inserat ca valoare.Notele s-au bazat pe feedback-ul minunat al tuturor de mai jos.
Mulțumiri speciale pentru:
@Yatrix, @WalterStabosz, @YahooSerious și @StackMan pentru comentariile lor.
Includerea DEFAULT completează coloana în rândurile existente cu valoarea implicită, astfel încât constrângerea NOT NULL nu este încălcată.
Articolul MSDN ALTER TABLE (Transact-SQL) conține toată sintaxa alter table.