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 回答