如何强制执行排除约束?

时间:2014-12-03 16:59:51

标签: sql-server-2008 composite-primary-key

我的下表有两列:

A - int (null)
B - int (null)

A或B中应该有值,但不能同时存在。如何创建此约束?

如果没有额外的IDENTITY列,是否有办法在此表上强制执行复合主键,因为允许使用两个空列?

1 个答案:

答案 0 :(得分:1)

create table t 
(  
   a int,
   b int, 
   CONSTRAINT null_const CHECK ((a is not null and b is null) or 
                                (b is not null and a is null))
);