我正在运行一个看起来像这样的PL / SQL块
BEGIN
dbms_output.put_line('11');
schema.some_package.process_data(i);
dbms_output.put_line('22');
END;
当我运行此块时,DBMS输出绝对没有返回任何内容。如果我注释掉process_data
过程调用,那么它会按预期返回11,22。该程序不会引发任何异常,并且似乎正在正确处理。
process_data
过程会调用许多其他过程和太多代码在这里分享,但是有没有人建议我应该寻找什么,这将清除所有排队的输出,甚至在程序后调用的输出在我的街区?
答案 0 :(得分:2)
如果堆栈中的某些内容调用dbms_output.disable()
,您所描述的行为就会发生。在您拨打dbms_output.enable()
之前,这会抑制所有输出。
重新启用输出无法恢复抑制的输出,因为disable()
会清除缓冲区以及禁用对put_line()
,get_line()
等的后续调用