use*_*619 8 oracle toad stored-procedures
我有一个新的存储过程,但在调用时出错,
CREATE OR REPLACE PROCEDURE SCOTT.getempsal(
p_emp_id IN NUMBER,
p_emp_month IN CHAR,
p_emp_sal OUT 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;
Run Code Online (Sandbox Code Playgroud)
并试图称之为:
getempsal(1,'JAN',OUT) --Invalid sql statement.
Run Code Online (Sandbox Code Playgroud)
Flo*_*ita 15
您的过程包含一个out参数,因此您需要在块中调用它,如:
declare
a number;
begin
getempsal(1,'JAN',a);
dbms_output.put_line(a);
end;
Run Code Online (Sandbox Code Playgroud)
可以调用一个简单的过程(比如使用数字参数)
exec proc(1);
Run Code Online (Sandbox Code Playgroud)
要么
begin
proc(1);
end;
Run Code Online (Sandbox Code Playgroud)