Thanks! Is the "bulk collect limit" limits also the following forall?
Is the "fetch c bulk collect into l_data limit 100 forall i in 1..l_data.count" means that forall will process 100 at a time, or only the "bulk collect" will process it 100 at a time and then forall will process all the rows simultaneously?
Kind Regards Dimitre
-- -- Original Message -- -- From: "Connor McDonald" <mcdonald.connor@(protected)> To: <oracle-l@(protected)> Sent: Thursday, May 12, 2005 2:15 AM Subject: Re: Forall limit
> Just do it in batches of (say) 1000 > > When fetching do 'bulk collect limit 1000'. > > hth > connor > > On 5/12/05, cichomitiko gmail <cichomitiko@(protected)> wrote: >> Hi all, >> environment: >> Oracle 8.1.7.4.0 >> OS Solaris 8 >> We have a procedure that fails with the fallowing error: >>=20 >> ORA-04030 (See ORA-04030.ora-code.com): out of process memory when trying to allocate bytes (,) >> ORA-06512 (See ORA-06512.ora-code.com): at "PKG_PP", line 822 >> ORA-04030 (See ORA-04030.ora-code.com): out of process memory when trying to allocate bytes (,) >> ORA-06500 (See ORA-06500.ora-code.com): PL/SQL: storage error >> ORA-06512 (See ORA-06512.ora-code.com): at line 4 >>=20 >> The procedure is using only FORALL clauses, no BULK COLLECT. >>=20 >> It seems that the forall clause is causing the error. How can we limit >> th= > e >> input collection in this case? >>=20 >> FORALL e in 1..cont_tot >> delete PUSH_LIST_DELIVERY where >> ID_MSG_LIST=3Dt_ID_MSG_LIST(e); >> end if; >>=20 >> Regards >> Dimitre >>=20 >> -- >> http://www.freelists.org/webpage/oracle-l >>=20 > > > --=20 > Connor McDonald > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D > email: connor_mcdonald@(protected) > web: http://www.oracledba.co.uk > > "Semper in excremento, sole profundum qui variat" > -- > http://www.freelists.org/webpage/oracle-l