Hi all,
I'm struggeling with a simple move of one field to another within a single table, consisting of 2 Billion recs.
To following approaches lead into the error message "transaction rolled back by an internal error: TableUpdate failed" due to Memory Overflow.
1. Simple update failed:
Update t1.QTY_2 = t1.QTY_1;
2. Cursor Approach failed eiter:
declare cursor c_cur for select * from t1 for update;
for r1 as c_cur do
v_count := :v_count + 1;
Update t1.QTY_2 = t1.QTY_1
where t1.ID = r1.ID ;
if MOD(:v_count,100) = 0 then --commit each 100 recs.
commit;
end if;
end for;
commit;
Does anybody out there has an idea, how to split the update into digestible slices?
I'm running out of ideas.
Thanks in advance
Cheers
Sven