如何在存储过程中返回游标类型?
这是我的程序,总是报错,欢迎大家来找茬。
CREATE OR REPLACE PROCEDURE INTERFACE.P_GetAnswerInfo( 
AC_TITLE  OUT      VARCHAR2,        --结果集字段TITLE描述表名 
AC_NAME    OUT    VARCHAR2,        --结果集字段名描述表名 
AC_RESULT  OUT    CURSOR,        --结果数据 
AC_AGENT_ID  IN  VARCHAR2,        --坐席工号 
AC_QUESTION_CODE IN  VARCHAR2        --任务编号 
)IS BEGIN 
AC_TITLE:='编号,编号,内容,顺序'; 
AC_NAME:='QUESTION_CODE,ANSWER_CODE,ANSWER_DESC,ANSWER_ORDER'; 
OPEN AC_RESULT (AC_QUESTION_CODE )for 
        SELECT QUESTION_ID,ANSWER_ID,ANSWER_DES,ANSWER_CODE 
        FROM EA_MARKET.MS_SURVEY_ANSWER 
        WHERE QUESTION_ID=CAST(AC_QUESTION_CODE AS INTEGER); 
END; 

解决方案 »

  1.   

    PROCEDURE EA_MARKET_INTERFACE.P_GETANSWERINFO 编译错误错误:PLS-00103: 出现符号 "FOR"在需要下列之一时:
            . ( % ;
    行:12
    文本:OPEN AC_RESULT(AC_QUESTION_CODE) FOR
      

  2.   

    AC_RESULT  OUT    CURSOR,        --结果数据 
    改为
    AC_RESULT  OUT    SYS_REFCURSOR,        --结果数据 
      

  3.   

    好象要定义成
    TYPE myrctype IS REF CURSOR;procedure PUR_CORPSUM
    (
      n_i_CorpID         IN varchar2,
      n_i_CompID         IN varchar2,
      n_i_BillMangerSort IN varchar2,
      v_i_StartDate      IN varchar2,
      v_i_EndDate        IN varchar2,
      v_i_swhere         IN varchar2,
      i_o_state          OUT int,
      v_o_msg            OUT varchar2,
      c_o_rs             OUT myrctype
    );ref的游标才能返回的说
      

  4.   

    定义为sys_refcursor就可以的,只是他这里用的是参数游标,参数游标在定义游标时需要提供参数,并且在打开游标时需要提供参数值