我有一些pl /
sql程序可能需要几分钟的时间才能运行。在开发过程中,我
添加了一些打印语句来帮助调试,并提供一些反馈和进度指标。最初我运行这些小测试集,
输出几乎是即时的。现在我正在测试需要几分钟的较大的测试集来运行,我发现打印到控制台已不再适用,因为在程序结束之前没有打印任何
内容。我习惯于在不缓冲其
输出并立即打印的环境中工作,并为简单的调试和诊断
添加简单的打印语句是常见的。
是否可能在pl / sql中立即打印输出(不缓冲)?如果没有,人们建议采取什么替代方案来获得类似的结果?
您可以使用
自动事务处理将消息写入表的过程:
procedure log (p_message)
is
pragma autonomous_transaction;
begin
insert into message_log (user,datetime,message)
values (user,sysdate,p_message);
commit;
end;
然后从另一个Oracle会话监视表。