我在oracle上有Tester表,其中包含以下各列:
TesterID是主键。现在,我希望只能有一个默认测试器,这意味着只有一个测试器可以在ApplicationID上具有IsDefault = Y的提示。
我尝试了一个约束:
alter table Tester add constraint Tester_ISDEFAULT UNIQUE(IsDefault,Application_ID);
是否可以在isdefault = Y的位置上设置唯一键?
感谢帮助!
不与UNIQUE约束。但是,您可以UNIQUE INDEX改用:
UNIQUE
UNIQUE INDEX
CREATE UNIQUE INDEX ApplicationId_Default_Y ON tester ( CASE WHEN IsDefault = 'Y' THEN ApplicationId ELSE NULL END );
这是一个 DEMO 。