2011-04-26 24 views
1

我正在編寫更新後觸發器,以將更新的用戶名和時間記錄到特定列。 我需要提交更新,然後向用戶顯示一條消息,以指導他們執行其他操作。 我無法使用dbms_output.put_line作爲應用程序隱藏來自用戶的這些消息(更改應用程序是不可能的,因爲它的第三方應用程序和許可問題會阻止任何更改)。我已經嘗試使用raise_application_error來顯示消息,但因爲它引發了一個錯誤,所以它阻止了提交更新。在觸發錯誤之前提交更新

有沒有人知道解決這個問題的方法?

回答

1

無法在不更改應用程序的情況下實時向用戶顯示消息。如果你持有所有用戶的電子郵件地址,我想觸發器可以向他們發送一封電子郵件,告訴他們他們需要做什麼?

+0

我認爲這將是最好的解決方案。 – RobLaw84 2011-04-26 13:49:28

0

如果沒有其他選擇,則會出現一個令人討厭的解決方法。 在觸發器中,您可以首先提交作業(dbms_job.submit)並在作業中進行更新。然後提出一個錯誤。

+0

感謝您的建議,你是對的,這是一個相當討厭的解決方法。我認爲向用戶發送電子郵件是一個更好的方式來處理它。 – RobLaw84 2011-04-26 13:50:08

+0

如果事務回滾,則作業將不會執行。 (除非您在自主交易中提交作業提交) – 2011-04-27 06:33:37