【赛迪网-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;
闽公网安备 35060202000074号