Oracle PL / SQL - 立即输出/控制台打印的提示 [英] Oracle PL/SQL - tips for immediate output / console printing
问题描述
是否有可能在pl / sql中打印输出立即(不缓冲)?如果没有,请人推荐什么替代得到同样的结果?
您可以有一个表写消息的过程使用自治事务是这样的:
程序日志(p_message)
为
编译AUTONOMOUS_TRANSACTION;
begin
insert into message_log(user,datetime,message)
values(user,sysdate,p_message);
提交;
结束
然后监视来自另一个Oracle会话表。
I have a number of pl/sql procedures that can take several minutes to run. While developing them, I've added a few print statements to help debug and also provide some feedback and progress indicators. Initially, I ran these on small test sets and output was almost instantaneous. Now that I'm testing with larger test sets that take several minutes to run, I find that printing to the console is no longer suitable, because nothing gets printed until the procedure ends. I'm used to working in environments that do not buffer their output and print it immediately and adding simple print-statements for simple debugging and diagnostic is common.
Is it possible in pl/sql to print output immediately (not buffered)? If not, what alternatives do people recommend to get a similar result?
You can have a procedure that writes messages to a table using an autonomous transaction something like:
procedure log (p_message)
is
pragma autonomous_transaction;
begin
insert into message_log (user, datetime, message)
values (user, sysdate, p_message);
commit;
end;
Then monitor the table from another Oracle session.
这篇关于Oracle PL / SQL - 立即输出/控制台打印的提示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!