bulk of the 用法_Bulk Collect的基本用法

一般来讲在PL/SQL开发过程中,我们可以采用bulk collect将查询一次加载到一个集合(collection)中,而不是传统的通过cursor一条条的处理。大大提高了效率减少了loop循环的开销,但是需要注意的是bulk collect的所有承载变量都应该是collection类型的。

简单的例子:

1.通过cursor的fetch into来使用bulk collect

declare

type id_value is table of alan.id%type;

my_result id_value;

cursor mycur is select id from alan where id <= 10;

begin

open mycur;

fetch mycur bulk collect into my_result;

-- dbms_output.put_line(mycur%rowcount);

close mycur;

for i in 1 .. my_result.count

loop

dbms_output.put_line(my_result(i));

end loop;

end;

/

2.加limit来限制fetch的数量,这里只从cursor里面fetch 5行数据

declare

type id_value is table of alan.id%type;

my_result id_value;

cursor mycur is select id from alan where id <= 10;

begin

open mycur;

fetch mycur bulk collect into my_result limit 5;

-- dbms_output.put_line(mycur%rowcount);

close mycur;

for i in 1 .. my_result.count

loop

dbms_output.put_line(my_result(i));

end loop;

end;

/

3.在select中使用bulk collect的用法

declare

type id_value is table of alan.id%type;

my_result id_value;

begin

select id bulk collect into my_result from alan where rownum <= 15;

for i in 1 .. my_result.count

loop

dbms_output.put_line(my_result(i));

end loop;

end;

/

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12361284/viewspace-205087/,如需转载,请注明出处,否则将追究法律责任。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值