sql >> Base de Datos >  >> RDS >> Sqlserver

Agregar valor predeterminado a una columna existente basada en If Then Else sql server 2008

Puede hacerlo a través de la restricción CHECK,

Primero tendrás que crear una tabla,

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

y luego agregue la restricción como

crear tabla myTemp1 (TempId int no nulo, 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 me gusta

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

demostración en http://sqlfiddle.com/#!3/d633a/1