Oracle约束:在某些列上记录的值相同但不是全部

时间:2013-09-21 17:09:52

标签: sql oracle

我有

table1 | col A | col B | col C | col D
           1       2       2       2
           4       2       2       2

我可以使用哪些约束来使两个条目在Col A上具有不同的值,但在Col B,C,D上同时不会有相同的值?

你可以想到2个不能拥有相同任命日期的病人(假设日期由3列而不是1列设定)

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

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

ALTER TABLE YOURTABLE ADD CONSTRAINT UC_BCD UNIQUE (B,C,D)