我学到了(艰难的方法)DDL语句无法在登录触发器的非事务性上下文中执行,并且解决方案是一项工作。我希望立即执行一次作业,因此将next_date
参数设置为sysdate
,将interval
参数设置为null
。
这是我在触发器中执行的内容:
dbms_job.submit(
job=>jobNumber,
what=>'someProcedure(someParameter);',
next_date=>sysdate,
interval=>null
);
这非常有效,但是一旦触发器被触发(并且上面的命令已经提交),审计日志显示该作业在提交的同一用户帐户下每五秒钟重新出现一次在第一次。关联的程序总是类似ORACLE.EXE (J001)
,尽管它当然是从客户端应用程序启动的用户会话。
有人能解释一下吗?我希望得到一份单独的工作,而不是永恒的复发。提前谢谢!