我现有一个存储过程A返回的结果集数据类型是自己定义的
CREATE OR REPLACE PACKAGE types
AS
   TYPE   CursorType IS REF CURSOR;
 END;rt_cursor out types.CursorType 我想在存储过程B中调用前面定义的存储过程A
从A返回的cursor中得到数据插入表C中
请问如何完成?

解决方案 »

  1.   

    为什么没有人反映呀,看来csdn真的不行了
      

  2.   

    create or replace package pag_cs_power as    type c_Type is ref cursor;
      
    FUNCTION FUN_CS_GETDICTLIST(
      v_DictIndex in  varchar2) return c_Type;end pag_cs_power;
    FUNCTION FUN_CS_GETDICTLIST(
      v_DictIndex in  varchar2) return c_Type
         as
            c_cursor            c_Type;
    begin
       open c_cursor for
          select DICTID,DICTNAME FROM SYS_DICT WHERE DICTINDEX = v_DictIndex;
       return c_cursor;
    end FUN_CS_GETDICTLIST;
      

  3.   

    我用的是自定义的,想通过for c_cur in cur_return loop的方式进行,但编译都通不过
      

  4.   

    自定义记录rec
    cur:=FUN_CS_GETDICTLIST(:bv);fetch cur into rec;
    while cur%found loop
    fetch cur into rec;
    ...
    end loop;
    close cur;
    ...