Daugiau
Stulpelio su numatytąja reikšme įtraukimas į esamą SQL serverio lentelę
Kaip SQL Server 2000 / SQL Server 2005 į esamą lentelę įtraukti stulpelį su numatytąja reikšme?
2634
3
Sintaksė:
Pavyzdys:
Pastabos:
Neprivalomas apribojimo pavadinimas:
Jei nepateiksite
CONSTRAINT D_SomeTable_SomeCol
, SQL Server automatiškai sukursnumatytąją sąlygą su juokingu pavadinimu, pvz:
DF__SomeTa__SomeC__4FB7FEF6
Vartojamasis With-Values teiginys:
WITH VALUES
reikalingas tik tada, kai stulpelis yra nulinisir norite, kad numatytoji reikšmė būtų naudojama esamiems įrašams.
Jei jūsų stulpelis yra
NOT NULL
, automatiškai bus naudojama numatytoji reikšmėvisiems esamiems įrašams, nesvarbu, ar nurodysite
WITH VALUES
, ar ne.Kaip veikia įterpimai su numatytąja verte:
Jei įterpiate įrašą į
SomeTable
ir nenurodoteSomeCol
'reikšmės, ji bus numatytoji0
.Jei įterpiate Įrašą ir ir nurodote
SomeCol
's reikšmę kaipNULL
(o jūsų stulpelis leidžia nulines reikšmes),, tuomet numatytasis apribojimas nebus naudojamas ir kaip reikšmė bus įterpta
NULL
.Pastabos buvo parengtos atsižvelgiant į puikius visų žemiau pateiktus atsiliepimus.
Ypatinga padėka:
@Yatrix, @WalterStabosz, @YahooSerious ir @StackMan už pastabas.
Įtraukus DEFAULT, stulpelis egzistuojančiose eilutėse užpildomas numatytąja reikšme, todėl apribojimas NOT NULL nepažeidžiamas.
MSDN straipsnyje ALTER TABLE (Transact-SQL) pateikiama visa alter table sintaksė.