SQL /触发器:延迟后显示的输出

时间:2012-04-18 09:39:17

标签: sql oracle triggers

A similar case表示有时会触发触发器并且dbms_output.put_line会发出错误。在它中不会立即打印在控制台上,但在匿名块/过程中跟随另一个这样的stmt。

为什么会这样?是因为Oracle客户端的版本吗? 如果按顺序触发两个/三个这样的触发器怎么办? serveroutput在

1 个答案:

答案 0 :(得分:4)

写入DBMS_OUTPUT的文本被缓冲,直到调用DBMS_OUTPUT.GET_LINES来检索缓冲数据。无论出于何种原因,您正在使用的工具不是调用DBMS_OUTPUT.GET_LINES并显示数据。但是,如果您在触发器的输出之前看到之后的语句的输出,则表示正在按该顺序调用创建该输出的DBMS_OUTPUT.PUT_LINE语句。

关于触发器触发的问题,您需要阅读Oracle数据库概念手册中有关触发器的部分。对于11.1,可以找到数据库概念手册here

分享并享受。