如何在存储过程中返回游标类型?
这是我的程序,总是报错,欢迎大家来找茬。
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;
这是我的程序,总是报错,欢迎大家来找茬。
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;
. ( % ;
行:12
文本:OPEN AC_RESULT(AC_QUESTION_CODE) FOR
改为
AC_RESULT OUT SYS_REFCURSOR, --结果数据
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的游标才能返回的说