在触发器中引发错误之前提交更新

时间:2011-04-26 11:19:40

标签: plsql triggers oracle10g

我正在编写更新后触发器,以记录特定列的更新用户名和时间。 我需要提交更新,然后向用户显示一条消息,建议他们做其他事情。 我无法使用dbms_output.put_line,因为应用程序会隐藏来自用户的这些消息(更改应用程序是不可能的,因为它的第三方应用程序和许可问题会阻止任何更改)。我已经尝试使用raise_application_error来显示消息,但是由于它引发了错误,它会阻止更新提交。

有没有人知道解决这个问题的方法?

2 个答案:

答案 0 :(得分:1)

无法在不更改应用程序的情况下实时向用户显示消息。如果您保留所有用户的电子邮件地址,我认为触发器可以向他们发送电子邮件,告诉他们需要做什么?

答案 1 :(得分:0)

如果没有其他选择,那么有一个讨厌的解决方法。 在Trigger中,您可以先提交作业(dbms_job.submit)并在作业中进行更新。然后提出错误。