Sql Oracle约束:某些列上具有相同值的记录,但不是所有列

Sql Oracle约束:某些列上具有相同值的记录,但不是所有列,sql,oracle,Sql,Oracle,我有 我可以使用哪些约束来创建两个在列A上具有不同值但在列B、C、D上不能同时具有相同值的条目 你可以想象两个生病的人不能有相同的任命日期(假设日期由3列而不是1列设置) 谢谢你的帮助 您需要将B+C+D的组合定义为唯一,您可以通过添加唯一约束来实现: table1 | col A | col B | col C | col D 1 2 2 2 4 2 2 2 ALTER TAB

我有

我可以使用哪些约束来创建两个在列A上具有不同值但在列B、C、D上不能同时具有相同值的条目

你可以想象两个生病的人不能有相同的任命日期(假设日期由3列而不是1列设置)


谢谢你的帮助

您需要将B+C+D的组合定义为唯一,您可以通过添加唯一约束来实现:

table1 | col A | col B | col C | col D
           1       2       2       2
           4       2       2       2
ALTER TABLE YOURTABLE ADD CONSTRAINT UC_BCD UNIQUE (B,C,D)