【发布时间】:2012-04-18 23:12:20
【问题描述】:
我有这个程序:
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;
顺便说一句,我使用 DreamCoder for Oracle。程序本身或我调用它的方式有问题吗? INVOICE 表中有一个 INVOICE_NR 等于 1000001 的条目。
【问题讨论】:
-
如果你运行“begin dbms_output.put_line('output test') end;”你看到输出了吗?这个过程和调用方式是完全正确的。
-
我以这种方式运行它,但我没有看到输出。 DreamCoder 是否有可能不显示 put_line() 的输出?
-
不,我试过
BEGIN dbms_output.put_line('hi'); END;,它也没有显示任何内容。