插入oracle后延迟触发器调用

前端之家收集整理的这篇文章主要介绍了插入oracle后延迟触发器调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法做到这一点?.我发现添加,

DBMS_LOCK.sleep()

通过谷歌搜索到触发器代码的开头,但它阻止了插件本身的发生.我想插入数据但触发器应该在任意延迟后触发.谢谢.

解决方法

如果我们知道为什么你想要这个延迟,以及延迟后触发器应该做什么,这将有所帮助.但是,一种可能性是在触发器中使用 DBMS_JOB软件包创建一个在插入后稍微运行的作业.例如:

create trigger trg
after insert on tab
for each row
declare
  jl_ob number;
begin
  dbms_job.submit
    ( job => l_job,what => 'myproc(:new.id);',next_date => sysdate+1/24/60 -- One minute later
    );
end;

或者,触发器可以将一行插入一个特殊的表,以及一个按计划运行的DBMS_JOB.每10分钟可以处理表中超过X分钟的行.

猜你在找的Oracle相关文章