当前位置:  开发笔记 > 编程语言 > 正文

Oracle:如何"以后"运行存储过程

如何解决《Oracle:如何"以后"运行存储过程》经验,为你挑选了1个好方法。

我们有一个系统允许用户将数据连接到数据库,以设置各种规则,用于在数据合并到主表之前更改数据.例如,订单可能有一条规则,根据客户的地址设置要使用的送货公司.

这最初仅用于对正在加载的数据进行操作,因此它仅限于可以从select语句调用的函数.需要注意的一点是,数据尚未在目标表中.

现在,我有一个项目需要更新到另一个表(很好 - 我可以使用autonomous_transaction pragma).但是,我需要运行一些需要在数据运行之前插入数据的函数(即它们是聚合数据).

所以,我真的想排队运行我的程序直到一段时间后(它不依赖于时间).

我如何在Oracle中执行此操作?当我只是想做一些简单的事情时,丰富的文档是相当的压倒性的.



1> Brian..:
BEGIN
  DBMS_SCHEDULER.create_job (
    job_name => 'daily_tasks_job',
    job_type              => 'STORED_PROCEDURE',
    job_action            => 'prc_daily_tasks',
  repeat_interval       => 'FREQ=DAILY; INTERVAL=1',
  enabled               => TRUE,
  comments              => 'Calls stored procedure once a day'
  );
END;

BEGIN
     DBMS_SCHEDULER.create_job(
    job_name        => 'SHELL_JOB',
    repeat_interval  => 'FREQ=DAILY; BYHOUR=2',
    job_type         => 'EXECUTABLE',
    job_action       => '/u01/app/oracle/admin/tools/shell_job.sh',
    enabled          => TRUE,
    comments         => 'Perform stuff'
);
END;

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有