我在 oracle 上有一个包含以下列的 Tester 表:
- TesterID
- 测试者姓名
- 是默认值
- 应用程序ID
TesterID 是主键。
现在我希望只能有一个默认测试器,这意味着只有一个测试器可以在 ApplicationID 处具有计算 IsDefault =Y。
我尝试了一下,有一个限制:
alter table Tester add constraint Tester_ISDEFAULT UNIQUE(IsDefault,Application_ID);
是否可以在 isdefault= Y 处设置唯一键?
感谢帮助!
不与UNIQUE
约束。但是,您可以使用UNIQUE INDEX
反而:
CREATE UNIQUE INDEX ApplicationId_Default_Y ON tester (
CASE WHEN IsDefault = 'Y'
THEN ApplicationId
ELSE NULL
END
);
这是一个DEMO http://sqlfiddle.com/#!4/8e6af.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)