1

Oracle の初心者で、新しいプロシージャを作成しようとしていますが、エラーが発生します。

エラー式 P_EMP_SAL は SELECT/FETCH 文の INTO 対象として使用できません。

CREATE OR REPLACE PROCEDURE getempsal(
        p_emp_id IN NUMBER,
        p_emp_month IN CHAR,
        p_emp_sal in INTEGER)

AS
BEGIN
    SELECT EMP_SAL
    INTO p_emp_sal
    FROM EMPLOYEE_SAL
    WHERE EMP_ID = p_emp_id
    and EMP_MONTH = p_emp_month;

END getempsal;
4

2 に答える 2

1

INプロシージャから返すパラメータを指定します。試してみてくださいp_emp_sal OUT INTEGER

http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/subprograms.htm#i4107

于 2013-02-01T03:48:59.207 に答える
-1

put パラメータ refcursor を取り出し、プロシージャの本体に変更を加える

Open outCursor for SELECT EMP_SAL
    INTO p_emp_sal
    FROM EMPLOYEE_SAL
    WHERE EMP_ID = p_emp_id
    and EMP_MONTH = p_emp_month;
于 2013-02-01T03:50:41.843 に答える