I think committing every row is a bit overkill. It would be faster to delete every 1000 or so.
You could do it like this :
declare
procedure del_1000 is
begin
delete from mytable where rownum < 1000;
commit;
end;
Begin
del_1000;
while SQL%rowcount > 0 loop
del_1000;
end loop;
end;




Reply With Quote