我在 oracle 上有一个表 Tester,其中包含以下列:
TesterID 是主键。
现在我希望只能有一个 Default Tester,这意味着只有一个 Tester 可以在 ApplicationID 上拥有 IsDefault =Y 的 calues。
我尝试了一个约束:
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 。
关于sql - Oracle SQL 约束 where 子句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12177369/