sql >> Base de Datos >  >> RDS >> Oracle

Llamar a un procedimiento almacenado en Oracle con parámetros IN y OUT

Si configura la salida del servidor en modo ON antes del código completo, funciona; de lo contrario, put_line() no funcionará. ¡Pruébalo!

El código es,

set serveroutput on;
CREATE OR REPLACE PROCEDURE PROC1(invoicenr IN NUMBER, amnt OUT NUMBER)
AS BEGIN
SELECT AMOUNT INTO amnt FROM INVOICE WHERE INVOICE_NR = invoicenr;
END;

Y luego llame a la función tal como está:

DECLARE
amount NUMBER;
BEGIN
PROC1(1000001, amount);
dbms_output.put_line(amount);
END;