我有这样的过程:调用在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