Mam tę procedurę:Wywołanie procedury przechowywanej w Oracle i obecnie Parametry
CREATE OR REPLACE PROCEDURE PROC1(invoicenr IN NUMBER, amnt OUT NUMBER)
AS BEGIN
SELECT AMOUNT INTO amnt FROM INVOICE WHERE INVOICE_NR = invoicenr;
END;
Więc kiedy go uruchomić w ten sposób zwraca absolutnie nic:
DECLARE
amount NUMBER;
BEGIN
PROC1(1000001, amount);
dbms_output.put_line(amount);
END;
BTW używam DreamCoder dla Wyrocznia. Czy jest problem z samą procedurą lub ze sposobem, w jaki ją nazywam? W tabeli INVOICE znajduje się wpis z INVOICE_NR równym 1000001.
Jeśli uruchomisz "begin dbms_output.put_line ('output test') end;" widzisz wynik? Ta procedura i sposób jej wywoływania jest całkowicie poprawny. – arturro
Uruchomiłem to w ten sposób, ale nie widzę wyjścia. Czy to możliwe, że DreamCoder nie wyświetla wyniku put_line()? – RegedUser00x
Nie próbowałem z 'BEGIN dbms_output.put_line ('hi'); END; 'i nic nie pokazuje. – RegedUser00x