Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: snapshot too old
In article <meGdnelhrOYyK6DdRVn-hA_at_comcast.com>,
support_at_dbainfopower.com says...
>
> Hello Shawn,
>
> Please check if below script helps:
>
> declare
> counter number := 0;
> cursor c1 is select /*+ parallel(y,2) full(y) */ rowid rid from
> test_table y;
> begin
> FOR c2 in c1 LOOP
>
> update test_table
> set SSN = TRANSLATE
> ('915482376','123456789',TRANSLATE(SSN,'1234567890','9732581406'))
> where rowid = c2.rid;
>
> counter := counter + 1;
>
> IF ( mod(counter,100) = 0)
> THEN
> COMMIT;
> END IF;
> END LOOP;
> COMMIT;
> END;
> /
>
Don't see how this will help. You're commiting every 100 rows, instead
of the OP's 2500, which only *exacerbates* the problem. And what do the
extra hints in the cursor's SELECT accomplish? The OP wasn't looking to
optimize the select.
*sigh*
![]() |
![]() |