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

Ich brauche eine Check-Einschränkung für zwei Spalten, mindestens eine darf nicht null sein

Dies kann mit einer Check-Einschränkung erfolgen, die den Nullwert überprüft und das Ergebnis mit oder

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

Das Folgende sind die Testfälle

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