Да, это возможно, используя проверить ограничения
попробуйте это -
create table myTable (ID int identity(1,1)
, a int
, b int
)
go
ALTER TABLE myTable
ADD CONSTRAINT ck_BNotNull
CHECK (
(A is not null and b is not null)
or (A is null)
)
go
- Недопустимо
insert into myTable
(a,b)
values
(1,null)
- разрешено
insert into myTable
(a,b)
values
(null,null)
- разрешено
insert into myTable
(a,b)
values
(null,1)