我们在批处理作业中得到一个ORA-00001 (违反了唯一约束)。但是,错误发生在发出提交时,而不是插入违规记录时。
问题:
任何帮助都是非常感谢的!
补充资料/问题:
“违规”约束被标记为即时和不可推迟的约束。可以在事务中重写此操作吗?
发布于 2010-02-01 10:52:17
约束可以标记/定义为可推迟的。在这种情况下,约束检查可以是“立即”检查,也可以是“延迟检查”。在定义约束时,可以设置默认值initially immediate或initially deferred。当设置为deferred时,约束在提交事务之前不会执行。
您可以改变可推迟约束的行为,例如
set constraints all immediate;另见:http://www.oracle.com/technology/oramag/oracle/03-nov/o63asktom.html
发布于 2010-02-01 10:51:51
约束可以定义为延迟,这意味着它们是在提交时检查的,而不是在数据更改时检查的。请参阅以下两个链接:
http://www.oracle-base.com/articles/8i/ConstraintCheckingUpdates.php
http://www.oracle.com/technology/oramag/oracle/03-nov/o63asktom.html
希望它能帮上忙
https://stackoverflow.com/questions/2176021
复制相似问题