В PLSQL, как вы итеративно обновляете поле очень большой таблицы? - PullRequest
1 голос
/ 24 января 2012

У меня есть таблица PLSQL с 30 миллионами строк, и я хочу обновить поле для всех строк.

Я попытался выполнить цикл (пакетирование обновления по 100000 интервалам строк), но я не могу использовать

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

, где цикл перемещается через новые верхние и нижние значения, пока не исчерпан счетчик строк.

1 Ответ

3 голосов
/ 24 января 2012

Почему вы хотите сделать обновление итеративно?Почему бы вам не сделать простой UPDATE

UPDATE tableA
   SET columnA = 1

Это не самый эффективный способ обновления большого количества строк.Он также генерирует наименьшее количество REDO и UNDO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...