批量游标处理大数据

--批量游标处理大数据
declare
  type t_rid is table of rowid index by binary_integer;
  l_t_rid t_rid;


  cursor cur_rid is(
    select rowid from bigtable where owner = 'SCOTT');


  ln_rowcnt number := 0;
begin
  open cur_rid;
  loop
    fetch cur_rid bulk collect
      into l_t_rid limit 5000;
  
    ln_rowcnt := ln_rowcnt + l_t_rid.count;
  
    forall i in 1 .. l_t_rid.count
      update bigtable
         set object_name = 'HL' || object_name
       where rowid = l_t_rid(i);
    commit;
    exit when cur_rid%notfound or cur_rid%notfound is null;
  end loop;
  close cur_rid;


  dbms_output.put_line(ln_rowcnt);


exception
  when others then
    if cur_rid%isopen then
      close cur_rid;
    end if;
end;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值