Oracle-按提交频率批量更新数据

问题描述 投票:0回答:1

我想通过oracle中的存储过程更新和插入数百万条数据。 我使用了以下方法-

获取列表中的所有数据。 迭代列表并使用提交频率变量更新数据。 如果提交计数达到提交频率,我将交换查询。 举个例子,我的提交频率是10000,那么当执行的提交计数达到提交频率时我就提交。 现在让我们举个例子,如果我有 98000 行需要更新,并且我在每 10000 行之后提交一次。

这适用于前 90000 行,那么如何提交后 8000 行的数据?

我想要解决方案如何提交与提交条件不匹配的数据。

performance query-optimization oracle-sqldeveloper bulkinsert bulkupdate
1个回答
0
投票

当您“迭代”列表时,我认为您正在循环执行此操作,并且将 commit 作为

end loop
之前的最后一个命令。所以,再来一个
commit
之后
类似这样的:

loop -- do whatever you do here l_counter := l_counter + 1; if l_counter = 10000 then commit; --> this is what you have now l_counter := 0; end if; end loop; commit; --> add this

© www.soinside.com 2019 - 2024. All rights reserved.