服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

讲解forall与bulk collect的使用方法

【赛迪网-it技术报道】1.使用forall比for效率高,因为前者只切换一次上下文,而后者将是在循环次数一样多个上下文间切换。

2.使用bluk collect一次取出一个数据集合,比用游标条取数据效率高,尤其是在网络不大好的情况下。但bluk collect需要大量内存。

使用例子:

(1)定义一个table

create or replace type string_table as table of varchar2(100);

(2)在存储过程里面测试

declare

v_table string_table;

begin

select cust_name

bulk collect into v_table

from cust c

where c.cust_id between 64561 and 64565;

forall idx in 1..v_table.count

insert into cust_test values(v_table(idx));

commit;

end;

扫描关注微信公众号