带 limit 的 Bulk Collect 的一个简单例子
上一篇 /
下一篇 2006-10-17 00:00:00
/ 个人分类:My Oracle Article
带 limit 的 Bulk Collect , 或者说Forall 的一个简单例子
同时还用到了 dbms_sql 里预先定义好的rowid 的table类型
记录一下……
declare
row_id_table dbms_sql.Urowid_Table;
-- 每次process 几行自己确定
maxrows number default 100;
cursor cur is
select rowid from t2
where SENDTIME<=sysdate ;
begin
open cur;
LOOP
EXIT WHEN cur%NOTFOUND;
FETCH cur bulk collect into row_id_table limit maxrows;
forall i in 1 .. row_id_table.count
insert into t1 select * from t2
where rowid = row_id_table(i) ;
forall i in 1 .. row_id_table.count
delete from t2
where rowid = row_id_table(i) ;
-- commit 加不加随你
commit;
end loop;
end;
/
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: