【发布时间】:2018-08-27 13:15:45
【问题描述】:
我在执行执行多次插入的存储过程时遇到问题
我正在通过 DBLINK 将 30 个表从一个服务器实例复制到另一个实例:
INSERT INTO table@dblink (column1)
SELECT column1
FROM table;
但结果是:
ORA-02291: 违反完整性约束 (string.string) - 未找到父键
过程结束时只有一次提交。
我要插入的第 4 个表具有第一个表的 FK,并且它无法识别第一个表的插入(我尝试过使用延迟约束和同样的问题:ORA-02291)。
【问题讨论】:
-
你复制的顺序是否正确?第一个没有外键的表,然后是一些
-
是的,我愿意。这只是一个工作了很多次的大包的一部分。现在我们正在增加我们需要复制的数据的大小,我们发现了这个错误。顺序正确。
-
你有没有尝试在每张表之后进行一次提交?
-
我不能,业务规则……程序必须全部复制或全部复制。 (在它工作的每个表之后进行提交,我在另一台服务器上尝试它只是为了测试,但程序不能这样做)。
-
如果您说问题出在程序上,而您没有向我们展示程序,我们有什么可以帮助您的吗?您应该提供更多信息
标签: oracle plsql sql-insert dblink ora-02291