【发布时间】:2019-11-28 20:53:08
【问题描述】:
我有一个用于审计的触发器。无论如何,在触发器中,我想获得正在处理和影响我的表的确切数据库对象或语句。我的问题是触发器显示重复记录是在不同的日子插入的。我想知道是什么对象产生了重复记录。
【问题讨论】:
-
在这里很难说出您具体要问什么。您能否发布代码并告诉我们您的目标是什么,您尝试过什么以及失败的地方。
标签: sql database plsql oracle11g triggers
我有一个用于审计的触发器。无论如何,在触发器中,我想获得正在处理和影响我的表的确切数据库对象或语句。我的问题是触发器显示重复记录是在不同的日子插入的。我想知道是什么对象产生了重复记录。
【问题讨论】:
标签: sql database plsql oracle11g triggers
您可以使用DBMS_UTILITY.FORMAT_CALL_STACK 函数。这会将整个调用堆栈作为 varchar2 返回,您可以按原样保存或根据需要进行处理。
如果您使用的是 Oracle 12,则有一个更方便的 UTL_CALL_STACK 包,它提供灵活的调用堆栈访问。见the docs
【讨论】:
使用编译指示自治事务,它应该可以解决您的目的..
【讨论】: