在ORACLE中返回游标结果集你需要写到一个包中:
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;

解决方案 »

  1.   

    大家好,谢谢大家的回答,
    但我还是不懂,
    我在delphi中要显示这个记录集,
    应该怎样调用这个包呢?
    存储过程可以用组件Tadostoreproc来调用,
    但是包怎样调用呢?
      

  2.   

    你试一下:
    create procedure query
     as 
    mmm 表名%rowtype;
    begin
      select * into mmm from 表名;
    end; 
      

  3.   

    调包和调存储过程不是一样的嘛!你在调用的时候加上包名就是了aa = packageName.funName(....);
      

  4.   

    CREATE OR REPLACE PACKAGE pkg_test
    AS
       TYPE myrctype IS REF CURSOR;
    END pkg_test;
    /create procedure query(p_rc out pkg_test.myrctype) 
    as 
    begin
      open p_rc for select * from tab1;
    end;
    /至于delphi怎样调用,具体还是查看相关资料