概要说明:提取问题答案
CREATE OR REPLACE PROCEDURE P_GetAnswerInfo(
OUT  AC_TITLE  VARCHAR2,    --结果集字段TITLE描述表名
OUT  AC_NAME    VARCHAR2,    --结果集字段名描述表名
OUT  AC_RESULT  CURSOR,    --结果集数据游标
IN  AC_QUESTION_CODE VARCHAR2 --任务编号
)
CURSOR AC_RESULT IS
SELECT * FROM ANSWER
WHERE QUESTION_ID=CAST(AC_QUESTION_CODE AS INTEGER);
BEGIN 
AC_TITLE='问题编号,答案编号,答案内容,答案顺序';
AC_NAME='QUESTION_CODE,ANSWER_CODE,ANSWER_DESC,ANSWER_ORDER'
END;
编译报错,怎么回事啊?

解决方案 »

  1.   

    AC_RESULT重复了
    这个写到begin后面去,写到前面相当于声明了一个同名变量
      

  2.   

    CREATE OR REPLACE PROCEDURE P_GetAnswerInfo( 
                               AC_QUESTION_CODE IN  VARCHAR2,   --任务编号
                               AC_TITLE OUT  VARCHAR2,          --结果集字段TITLE描述表名 
                               AC_NAME OUT   VARCHAR2,          --结果集字段名描述表名 
                               AC_RESULT OUT  CURSOR,           --结果集数据游标 
                               ) 
    IS  
    BEGIN
       OPEN AC_RESULT FOR SELECT * FROM ANSWER WHERE QUESTION_ID=CAST(AC_QUESTION_CODE AS INTEGER); 
       AC_TITLE := '问题编号,答案编号,答案内容,答案顺序';
       AC_NAME  := 'QUESTION_CODE,ANSWER_CODE,ANSWER_DESC,ANSWER_ORDER';
    END P_GetAnswerInfo; 
    /
    show error;
      

  3.   

    CREATE OR REPLACE PROCEDURE P_GetAnswerInfo( 
                               AC_QUESTION_CODE  IN  VARCHAR2,     --任务编号
                               AC_TITLE          OUT  VARCHAR2,    --结果集字段TITLE描述表名 
                               AC_NAME           OUT   VARCHAR2,   --结果集字段名描述表名 
                               AC_RESULT         OUT  CURSOR       --结果集数据游标 
                               ) 
    IS  
    BEGIN
       OPEN AC_RESULT FOR SELECT * FROM ANSWER WHERE QUESTION_ID=CAST(AC_QUESTION_CODE AS INTEGER); 
       AC_TITLE := '问题编号,答案编号,答案内容,答案顺序';
       AC_NAME  := 'QUESTION_CODE,ANSWER_CODE,ANSWER_DESC,ANSWER_ORDER';
    END P_GetAnswerInfo; 
    /
    show error;上面多了一个,
      

  4.   


    “END P_GetAnswerInfo;"是什么意思啊?
      

  5.   

    END P_GetAnswerInfo:存储过程的结束,建议楼主看看存储过程基础的东西
      

  6.   

    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
    CURSOR AC_RESULT (AC_QUESTION_CODE  VARCHAR2(20))IS
            SELECT QUESTION_ID,ANSWER_ID,ANSWER_DES,ANSWER_CODE
            FROM EA_MARKET.MS_SURVEY_ANSWER
            WHERE QUESTION_ID=CAST(AC_QUESTION_CODE AS INTEGER);
     BEGIN
     AC_TITLE:='编号,编号,内容,顺序';
     AC_NAME:='QUESTION_CODE,ANSWER_CODE,ANSWER_DESC,ANSWER_ORDER';
     --OPEN AC_RESULT;
    END;PROCEDURE EA_MARKET_INTERFACE.P_GETANSWERINFO 编译错误错误:PLS-00103: 出现符号 "("在需要下列之一时:
            := . ) , @ % default
              character
           符号 ":=" 被替换为 "(" 后继续。
    行:8
    文本:CURSOR AC_RESULT (AC_QUESTION_CODE  VARCHAR2(20))IS