Home >Database >Mysql Tutorial >Oracle BULK COLLECT批量取数据解决方法

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:55:551163browse

在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;
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn