我有這樣的過程:調用在Oracle中IN和OUT存儲過程的參數
CREATE OR REPLACE PROCEDURE PROC1(invoicenr IN NUMBER, amnt OUT NUMBER)
AS BEGIN
SELECT AMOUNT INTO amnt FROM INVOICE WHERE INVOICE_NR = invoicenr;
END;
所以,當我運行它,這樣它會返回絕對沒有:
DECLARE
amount NUMBER;
BEGIN
PROC1(1000001, amount);
dbms_output.put_line(amount);
END;
BTW我用DreamCoder爲甲骨文。程序本身或者我稱之爲的方式有問題嗎?在INVOICE表中有一個INVOICE_NR等於100000的條目。
如果運行「begin dbms_output.put_line('output test')end;」你看到輸出了嗎?這個程序和調用它的方式是完全正確的。 – arturro 2012-04-05 08:15:05
我以這種方式運行它,但我沒有看到輸出。 DreamCoder可能不顯示put_line()的輸出嗎? – RegedUser00x 2012-04-05 08:29:32
不,我用'BEGIN dbms_output.put_line('hi'); END;'它也沒有顯示任何東西。 – RegedUser00x 2012-04-05 08:32:22