首页 > 代码库 > bulk collect into之limit的使用
bulk collect into之limit的使用
BULK COLLECT 可以降低 SQL 引擎到 PL/SQL 引擎的上下文交换(context switch)次数,,从而实现数据的高速检索。”并不是限制必须一次完成。Oracle 提供了 LIMIT 子句,可以限制每次从表中获取的记录数,测试如下:
SQL> select count(*) from t;
COUNT(*)
----------
536
SQL> declare
2 cursor c_t is select * from t;
3 type typ_t is table of c_t%rowtype
4 index by binary_integer;
5 v_type_t typ_t;
6 v_row pls_integer;
7 begin
8 open c_t;
9 loop
10 fetch c_t bulk collect into v_type_t
11 limit 100;
12 exit when v_type_t.count = 0;
13 dbms_output.put_line(v_type_t.count);
14 v_row :=v_type_t.first;
15 while(v_row is not null)
16 loop
17 -- dbms_output.put_line(v_type_t(v_row).empno);
18 null;
19 v_row :=v_type_t.next(v_row);
20 end loop;
21 end loop;
22 close c_t;
23 end;
24 /
100
100
100
100
100
36
PL/SQL procedure successfully completed.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。