读书人

小结Oracle数组和BULK COLLECT INTO

发布时间: 2013-04-21 15:31:38 作者: rapoo

总结Oracle数组和BULK COLLECT INTO
declare     --%ROWTYPE使用可以直接使用类型,非常方便,但是个性化定义就要使用Record如下: type tbl_type is table of my_tbl%rowtype; v_tbl_list tbl_type;   --声明需要集合类型及变量,参照字段的 type 来声明类型         type id_type is table of sr_contacts.sr_contact_id%type;      v_id id_type;                type phone_type is table of sr_contacts.contact_phone%type;      v_phone phone_type;                type remark_type is table of sr_contacts.remark%type;        v_remark remark_type;       cursor C_contacts_cur is select sr_contact_id,contact_phone,remark from sr_contacts where rownum <= 100000;       begin         open C_contacts_cur;          loop              fetch all_contacts_cur bulk collect into v_id,v_phone,v_remark limit 256;              for i in 1..v_id.count loop --遍历集合           --用 v_id(i)/v_phone(i)/v_remark(i) 取出字段值来执行你的业务逻辑                 end loop;              exit when C_contacts_cur%notfound; --exit 不能紧接 fetch 了,不然会漏记录          end loop;          close all_contacts_cur;      end;  --自定义recordTYPE my_record IS RECORD ( name varchar2(25), mobile varchar2(20), email varchar2(50) );type my_type is table of my_record; --定义一个数组类型,相当于java中的Listmy_data_set my_type ; --声明我的个性化定义的数据类型。

?

读书人网 >其他数据库

热点推荐