我们在批处理作业中收到 ORA-00001(违反唯一约束)。但是,错误发生在发出 COMMIT 时,而不是在插入违规记录时发生。
问题:
任何帮助表示赞赏!
附加信息/问题:
“违规”约束被标记为 IMMEDIATE 和 NON-DEFERRABLE。这可以在事务中覆盖吗?
最佳答案
约束可以被标记/定义为可延迟的。在这种情况下,约束检查可以是“立即”或“延期”。定义约束时,您可以设置默认/初始值,initially immediate
或 initially deferred
.设置为 deferred
时直到您提交事务时才会强制执行约束。
您可以更改延迟约束的行为,例如通过
set constraints all immediate;
另见:http://www.oracle.com/technology/oramag/oracle/03-nov/o63asktom.html
关于oracle10g - 提交时获取 ORA-00001(违反唯一约束)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2176021/