J'ai une nouvelle procédure stockée, mais obtenez une erreur lors de l'appelant,
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;
Et essayer de l'appeler:
getempsal(1,'JAN',OUT) --Invalid sql statement.
Votre procédure contient un paramètre OUT, vous devez donc l'appeler en bloc comme:
declare
a number;
begin
getempsal(1,'JAN',a);
dbms_output.put_line(a);
end;
Une procédure simple (disons avec un paramètre numérique) peut être appelée avec
exec proc(1);
ou
begin
proc(1);
end;