我在 Oracle 9i 中有 2 个过程(A,B)。就个人而言,它们都工作正常。但是我不能创建一个调用 A 的过程 C,而 A 又调用 B。我在 C 调用 A 之前放置了一个 dbms_output.put_line,在 A 调用 B 和 B 之前放置了一个。不知何故,只有第一个 put_line 有效。这不起作用的可能原因是什么?谢谢,
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;