【问题标题】:Creating event based job/scheduler in oracle DB在 oracle DB 中创建基于事件的作业/调度程序
【发布时间】:2016-01-28 08:16:12
【问题描述】:

我有一个 oracle 触发器,它在 table1 上插入、更新或删除后立即起作用,并根据它在 table1 上的日期更新 table2 上的价格列/值。

table2上只需要更新当前价格(当前日期的价格)。例如,我在 table1 上插入一条记录,表示将来的日期在 2016 年 1 月 28 日到 2016 年 1 月 30 日之间。我需要在 2106 年 1 月 28 日之前在 table2 上更新价格。我们怎样才能让这个功能自动发生。

【问题讨论】:

  • 一种方法可以是:创建一个表,您的触发器在其中存储要执行的更新,以及每次更新必须发生的日期;然后创建一个每天运行的作业,扫描该表并执行为当前日期存储的更新。
  • @Aleksej,谢谢,我会努力解决的。

标签: database oracle triggers scheduling


【解决方案1】:

提交每天运行的 DBMS 作业。编写如下示例的过程来扫描并应用今天要完成的更改。并通过工作调用它。

exec dbms_job.submit(:OUTJOBNO, 'check_price_changes;', TRUNC(SYSDATE)+1, 'TRUNC(SYSDATE)+1');
-- This will run it everyday nightly.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-16
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多