2012-01-23 4 views
1

3,000万行のPLSQLテーブルがあり、すべての行のフィールドを更新したいとします。PLSQLでは、非常に大きなテーブルのフィールドを反復的に更新しますか?

Iは、(100000行毎に更新をバッチ処理)ループを試みたが、私は行数が使い果たされるまでループは新しい上限値と下限値を移動

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

を使用することはできません。

答えて

3

なぜ更新を繰り返し実行しますか?なぜあなたは、多数の行を更新するための最も効率的な方法That'tシンプルUPDATE

UPDATE tableA 
    SET columnA = 1 

を行うにはしたくありません。また、最小量のREDOUNDOを生成します。

+0

このような単純な更新では、3000万行のエラーが発生します。 –

+0

@WuschelbeutelKartoffelhuhn - どのようなエラーですか?なぜあなたは 'UPDATE'を複数の部分に分割しても同じエラーは発生しないと信じていますか? –

+0

インデックス「何か」を1024で拡張することはできません –

関連する問題