Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Hinzufügen eines Standardwerts zu einer vorhandenen Spalte basierend auf If Then Else SQL Server 2008

Sie können dies über die CHECK-Einschränkung tun,

Zuerst müssen Sie eine Tabelle erstellen,

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

und fügen Sie dann die Einschränkung als

hinzu

Tabelle myTemp1 erstellen (TempId int nicht 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);

ODER wie

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

Demo unter http://sqlfiddle.com/#!3/d633a/1