Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Adicionar valor padrão a uma coluna existente com base em If Then Else sql server 2008


Você pode fazer isso através da restrição CHECK,

Primeiro você terá que criar a tabela,
 create table myTemp1(TempId int not null ,TransCode int,ReasonCode int);

e, em seguida, adicione a restrição como

criar tabela myTemp1(TempId int não 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);

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

demonstração em http://sqlfiddle.com/#!3/d633a/1