A similar case表示有时会触发触发器并且dbms_output.put_line会发出错误。在它中不会立即打印在控制台上,但在匿名块/过程中跟随另一个这样的stmt。
为什么会这样?是因为Oracle客户端的版本吗? 如果按顺序触发两个/三个这样的触发器怎么办? serveroutput在
上答案 0 :(得分:4)
写入DBMS_OUTPUT的文本被缓冲,直到调用DBMS_OUTPUT.GET_LINES来检索缓冲数据。无论出于何种原因,您正在使用的工具不是调用DBMS_OUTPUT.GET_LINES并显示数据。但是,如果您在触发器的输出之前看到之后的语句的输出,则表示正在按该顺序调用创建该输出的DBMS_OUTPUT.PUT_LINE语句。
关于触发器触发的问题,您需要阅读Oracle数据库概念手册中有关触发器的部分。对于11.1,可以找到数据库概念手册here。
分享并享受。