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

Ho bisogno di un vincolo di controllo su due colonne, almeno una non deve essere nulla

Questo può essere fatto con un vincolo di controllo che verifica il valore nullo e corrisponde al risultato con o

create table #t (i int
               , j int
               , constraint chk_null check (i is not null or j is not null))

I seguenti sono i casi di test

insert into #t values (null, null) --> error
insert into #t values (1, null) --> ok
insert into #t values (null, 1) --> ok
insert into #t values (1, 1) --> ok