Oracle 中使用fetch bulk collect into 批量效率的读取游标数据

本文通过实例详细介绍了Oracle中使用fetch bulk collect into批量读取游标数据的方法,与逐条fetch into进行性能比较。测试结果显示,游标记录数越大,fetch bulk collect into的效率优势越明显。文中还提到了limit参数的使用,以及fetch bulk collect into在其他SQL语句中的应用,如SELECT INTO和RETURNING INTO,以及FORALL语句中的BULK DML操作。
摘要由CSDN通过智能技术生成

fetch bulk collect into 的使用格式是:fetch some_cursor collect into col1, col2 limit xxx。col1、col2 是声明的集合类型变量,xxx 为每次取数据块的大小(记录数),相当于缓冲区的大小,可以不指定 limit xxx 大小。下面以实际的例子来说明它的使用,并与逐条取记录的 fetch into 执行效率上进行比较。
使用 fetch bulk collect into 获取游标数据

01. declare  
02.     
03.   --声明需要集合类型及变量,参照字段的 type 来声明类型   
04.   type id_type is table of sr_contacts.sr_contact_id%type;   
05.   v_id id_type;   
06.        
07.   type phone_type is table of sr_contacts.contact_phone%type;   
08.   v_phone phone_type;   
09.        
10.   type remark_type is table of sr_contacts.remark%type;   
11.   v_remark remark_type;   
12.     
13.   cursor all_contacts_cur is --用 rownum 来限定取出的记录数来测试   
14.      select sr_contact_id,contact_phone,remark from sr_contacts where rownum <= 100000;   
15.     
16. begin  
17.          
18.     open all_contacts_cur;   
19.     
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值