Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Aggiungi il valore predefinito a una colonna esistente basata su If Then Else sql server 2008

Puoi farlo tramite il vincolo CHECK,

Per prima cosa dovrai creare una tabella,

 create table myTemp1(TempId int not null ,TransCode int,ReasonCode int);

e quindi aggiungi il vincolo come

crea la tabella myTemp1(TempId int non null ,TransCode int,ReasonCode int);

alter table myTemp1
add constraint check_role CHECK(case when (TransCode = 1 AND ReasonCode = NULL)
                                then 99 else ReasonCode end = ReasonCode);

O come

alter table myTemp1
add constraint check_role CHECK(ReasonCode = (case when (TransCode = 1 AND ReasonCode
                                = NULL) then 99 else ReasonCode end = 1))

demo su http://sqlfiddle.com/#!3/d633a/1