我想在oracle应用程序(ERP)上写一个重要的基表wf_notifications,从这个触发器我将使用fnd_request.submit_request调用java并发程序,我将在这个java类中做的所有操作并发程序中使用的文件。如果并发程序失败,其他操作会影响吗?另一方面,oracle dosent建议在oracle标准基表上编写触发器
答案 0 :(得分:0)
如果在表上放置触发器并且触发器抛出异常,则DML语句(插入,更新,删除)将因该异常而失败。
你可以在触发器中设置一个catch all异常处理程序,以确保即使触发器失败也可以继续工作,但是你可能永远都不会知道触发函数存在问题。
所以这将是这样的:
create or replace trigger mytrigger
before insert or update or delete
on mytable
for each row
declare
begin
fnd_request.submit_request;
exception
-- Hide whatever error this trigger throws at us.
when others then null;
end mytrigger;
此外,由于正在进行额外的工作,触发器可能会减慢表插入和更新。