Joh*_*hv1 3 sql oracle constraints clause where
我在oracle上有表Tester,其中包含以下列:
TesterID是主键.现在我希望只有一个Default Tester,这意味着只有一个Tester可以在ApplicationID上拥有CalDe IsDefault = Y.
我用一个约束尝试了它:
alter table Tester add constraint Tester_ISDEFAULT UNIQUE(IsDefault,Application_ID);
Run Code Online (Sandbox Code Playgroud)
是否可以在isdefault = Y的哪个位置创建唯一键?
感谢帮助!
没有UNIQUE约束.但是,您可以使用UNIQUE INDEX:
CREATE UNIQUE INDEX ApplicationId_Default_Y ON tester (
CASE WHEN IsDefault = 'Y'
THEN ApplicationId
ELSE NULL
END
);
Run Code Online (Sandbox Code Playgroud)
这是一个演示.