存储过程有问题。
参考:
你需要写到一个包中:
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.   

    我现在是这样改的:
    create or replace package pag_cs_power as    type c_Type is ref cursor;
     
        procedure sp_log return c_Type;end pag_cs_power;procedure sp_log return c_Type
         as
            c_cursor            c_Type;
    begin
       open c_cursor for
          select * FROM nchar_tst;
       return c_cursor;
    end sp_log;但是错误是:警告: 创建的包带有编译错误
    不知道该如何解决。
      

  2.   

    用show error命令看错误信息
    那一步出错?错误信息贴出来。
      

  3.   

    try:
    create or replace package body pag_cs_power as
    procedure sp_log return c_Type
         as
            c_cursor            c_Type;
    begin
       open c_cursor for
          select * FROM nchar_tst;
       return c_cursor;
    end sp_log;
    end pag_cs_power;
    /
      

  4.   

    create or replace package body pag_cs_power as
    function sp_log return c_Type
     as
        c_cursor    c_Type;
    begin
       open c_cursor for
          select * FROM nchar_tst;
       return c_cursor;
    end sp_log;
    end pag_cs_power;
    /
      

  5.   

    11:26:19 SQL> create or replace package pag_cs_power as
    11:26:23   2      type c_Type is ref cursor; 
    11:26:23   3      function sp_log return c_Type;
    11:26:23   4  end pag_cs_power;
    11:26:24   5  /程序包已创建。已用时间:  00: 00: 00.04
    11:26:24 SQL> create or replace package body pag_cs_power as
    11:26:28   2  function sp_log return c_Type
    11:26:28   3  as
    11:26:28   4    c_cursor    c_Type;
    11:26:28   5  begin
    11:26:28   6     open c_cursor for
    11:26:28   7        select * FROM tb;
    11:26:28   8     return c_cursor;
    11:26:28   9  end sp_log;
    11:26:28  10  end pag_cs_power;
    11:26:28  11  /程序包主体已创建。已用时间:  00: 00: 00.94
    11:26:29 SQL>
      

  6.   

    只需要把select * from tb改成你的语句就行了。