Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: for d in c loop; insert; commit ...
I think that 'back then' the developers where trying to avoid the
snapshot to old error... even if it had to begin over, some of it would
be committed already.... (I'm just the messenger).
When inserting... it appears that 'old' habit has infiltrated every peace of code... perhaps to the point where they forgot why they did the committing in the first place, inside a loop.... let alone use the mod function, so now all DML commits every 50 rows... (only 50 rows? Wholly mollie).
Joel Patterson
Database Administrator
joel.patterson_at_crowley.com
x72546
904 727-2546
-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of stv
Sent: Wednesday, August 15, 2007 7:01 PM
To: oracle-l_at_freelists.org
Subject: Re: for d in c loop; insert; commit ...
Ooops. Forgot to mention this is an old database (probably started with version 6) with some major work done when they moved to 8i on Solaris. Currently running 9.2.0.8 on Linux x86_64. Perhaps this made sense in an older version?
On 8/15/07, stv <stvsmth_at_gmail.com> wrote:
> Why in the world did I inherit a database with all this nonsense
everywhere ...
>
> lc := 0;
> For d in C loop
> lc := lc + 1;
> # insert stuff
> if mod(lc, 50) = 0 then commit; end if;
> end loop;
> commit;
-- http://www.freelists.org/webpage/oracle-l -- http://www.freelists.org/webpage/oracle-lReceived on Thu Aug 16 2007 - 07:15:56 CDT
![]() |
![]() |