日期:2014-05-17  浏览次数:21273 次

如何针对数据库字段创建2选1必填的约束?
假设有数据库表A,包括3个字段X,Y,Z。其中X为主键必填,但Y和Z能且只能填其一,不能都填或都不填。该如何建立这种数据库约束?

------解决方案--------------------
SQL code
create table tmp
(
t_no varchar2(2),
t_x varchar2(2),
t_y varchar2(2),
check( (t_x is null) and (t_y is not null)or(t_x is not null) and (t_y is null))        
)