declare type refcursor is ref cursor; v_cursor refcursor; type array_rowid is table of rowid; type array_value is table of varchar2(20); a_rowid array_rowid := array_rowid(); a_value array_value := array_value(); begin open v_cursor for 'select rowid from ( select rowid from tse_payments h order by h.d_createdon asc ) where rownum<10000'; loop fetch v_cursor bulk collect into a_rowid limit 5000; if a_rowid.count() > 0 then forall i in a_rowid.first .. a_rowid.last DELETE FROM tse_payments t where t.rowid=a_rowid(i); end if; exit when v_cursor%notfound; end loop; close v_cursor; end; /
oracle删除数据速度快,最快的方式删除oracle数据
最新推荐文章于 2024-01-29 16:16:41 发布