服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Oracle - Oracle BULK COLLECT批量取数据解决方法

Oracle BULK COLLECT批量取数据解决方法

2019-11-15 15:31oracle教程网 Oracle

在oracle使用中为了提高取数据效率,本文将详细介绍Oracle BULK COLLECT批量取数据,需要了解跟多的朋友可以参考下

代码如下:

-- Created on 2010/11/04 by WANGNAN 
declare 
-- Local variables here 
i integer; 
TYPE t_table IS TABLE OF VARCHAR2(10 ) INDEX BY VARCHAR2 (2); 
v_t_table t_table; 

TYPE t_pg3 IS TABLE OF asis.PG3_AGENTCD_CONVERSION% ROWTYPE; 
v_pg3_table t_pg3; 

c_pg3_vendor com.cRef; 
v_str VARCHAR2( 250); 
begin 
-- Test statements here 
OPEN c_pg3_vendor FOR SELECT * FROM asis.PG3_AGENTCD_CONVERSION; 

FETCH c_pg3_vendor BULK COLLECT INTO v_pg3_table; 
FOR i IN 1 .. v_pg3_table.count LOOP 
v_t_table(v_pg3_table(i).ASIS_AGENT_CD) := v_pg3_table(i).TOBE_VENDOR_CD; 
END LOOP; 

v_str := v_t_table.first; 
WHILE v_str is NOT NULL LOOP 
dbms_output.put_line(v_str || ' : ' ||v_t_table(v_str)); 
v_str := v_t_table.next(v_str); 
END LOOP; 

EXCEPTION WHEN OTHERS THEN 
dbms_output.put_line( sqlerrm); 
END; 

延伸 · 阅读

精彩推荐