在日常维护中有的表数据量很大,进行大量delete的时候很慢,而且产生大量的UNDO。所以需要使用存储过程来进行分配提交;
declare
row_num number := 0;
begin
for bpms_del in(select 2222 from 1111 where CUR_NODE_ID='000004') loop
delete from 1111 where 2222=bpms_del.2222;
row_num := row_num +1;
---2000条提交一次,可根据需要修改
if mod(row_num,2000) = 0 then
commit;
end if;
end loop;
commit;
end;
/