在PLSQL中,如何迭代更新非常大的表的字段?

时间:2012-01-23 21:02:44

标签: database plsql oracle11g

我有一个包含3000万行的PLSQL表,我想更新所有行的字段。

我尝试了一个循环(将更新批量分配到100000行间隔)但我无法使用

update tableA set columnA=1 where rownum between lower and upper

循环移动新的上限值和下限值,直到rowcount耗尽。

1 个答案:

答案 0 :(得分:3)

为什么要迭代地进行更新?你为什么不想做一个简单的UPDATE

UPDATE tableA
   SET columnA = 1

这不是更新大量行的最有效方法。它还会生成最少量的REDOUNDO