当前位置: 代码迷 >> Oracle开发 >> 想咨询一个关于oracle检查约束与唯一约束联用的有关问题
  详细解决方案

想咨询一个关于oracle检查约束与唯一约束联用的有关问题

热度:34   发布时间:2016-04-24 06:38:06.0
想咨询一个关于oracle检查约束与唯一约束联用的问题
我想写一个约束,当有一列值为1的时候,我想检查这些列为1的数据中的另一列是否唯一,这个约束应该怎么写呢?

比如:
主键Id    外键Id    标识符
1       1       0
2       2       0
3       2       0
4       3       1
5       3       1

比如上面的五条数据,前四条都是合法的,但是第五条不合法,原因是 标识符=1 的时候,外键Id不能重复,这样的约束该怎么写呀?
不知道能不能写出这样的约束呢?还是我得通过其他方式来实现呀?

这个问题我不知道通过什么关键字来找,找了好久都没有关于这个的解答,在此咨询一下各位巨巨~谢谢啦~
------解决方案--------------------
1、可以考虑用表的触发器来实现
2、可以考虑在应用程序中处理
------解决方案--------------------
引用:
我想写一个约束,当有一列值为1的时候,我想检查这些列为1的数据中的另一列是否唯一,这个约束应该怎么写呢?

比如:
主键Id    外键Id    标识符
1       1       0
2       2       0
3       2       0
4       3       1
5       3       1

比如上面的五条数据,前四条都是合法的,但是第五条不合法,原因是 标识符=1 的时候,外键Id不能重复,这样的约束该怎么写呀?
不知道能不能写出这样的约束呢?还是我得通过其他方式来实现呀?

这个问题我不知道通过什么关键字来找,找了好久都没有关于这个的解答,在此咨询一下各位巨巨~谢谢啦~

带逻辑的check用trigger来实现吧
  相关解决方案