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

2022-01-08,,,

复制代码 代码如下:
-- 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;

您可能感兴趣的文章:

  • oracle下巧用bulk collect实现cursor批量fetch的sql语句
  • Oracle数据库中的级联查询、级联删除、级联更新操作教程
  • Oracle批量查询、删除、更新使用BULK COLLECT提高效率

《Oracle BULK COLLECT批量取数据解决方法.doc》

下载本文的Word格式文档,以方便收藏与打印。