我在Oracle 9i中有2個程序(A,B)。在個人中,他們都很好。但是我不能創建一個調用A的過程C,而該過程又調用B.我在C調用A之前放置了一個dbms_output.put_line,然後A調用B,另一個調用B.不知何故,只有第一個put_line有效。這可能不起作用的可能原因是什麼?謝謝你,爲什麼程序不能在Oracle中調用另一個程序
CREATE OR REPLACE PROCEDURE C (num in number)
as
begin
for r in (select col1 from Table1)
loop
dbms_output.put_line ('Inside C');
A(r.col1);
end loop;
end;
CREATE OR REPLACE PROCEDURE A (var1 IN varchar2)
AS
v1 varchar2;
cursor c1(c_var in varchar2) is
select col1 from table2 where col2=c_var;
BEGIN
open c1(var1);
loop
fetch c1 into v1;
exit when c1%notfound;
dbms_output.put_line ('Inside A');
B(v1);
end loop;
close c1;
END;
您是否曾嘗試在您打開A中的遊標之前放置dbms_output以確保您甚至進入循環? – climbage 2010-10-26 21:37:26