【问题标题】:Can we call two procedures using a single job我们可以使用单个作业调用两个过程吗
【发布时间】:2017-02-05 03:01:02
【问题描述】:

我需要使用单个 oracle job(dbms_scheduler.create_job) 调用两个过程

我有以下代码:

BEGIN 
  dbms_scheduler.create_job ( 
    job_name => 'test_JOB', 
    job_type => 'PLSQL_BLOCK', 
    JOB_ACTION => 'UP_TRYNR;',
    start_date =>sysdate, 
    enabled => true, 
  ); 
END;

这里我正在运行UP_TRYNR,我想与UP_TRYNR 一起运行另一个过程,我不想在UP_TRYNR 过程中调用另一个过程。

我该怎么办?

【问题讨论】:

  • 您想依次执行 PROC1 和 PROC2 吗?还是两者同时进行?
  • 同时PROC1和PROC2..

标签: oracle stored-procedures oracle11g jobs


【解决方案1】:

JOB_ACTION 是一个匿名的 PL/SQL 块,所以你可以这样做:

BEGIN 
   dbms_scheduler.create_job ( 
    job_name => 'test_JOB', 
    job_type => 'PLSQL_BLOCK', 
    JOB_ACTION => 'BEGIN UP_TRYNR; YOUR_SECOND_PROCEDURE; END;',
    start_date =>sysdate, 
    enabled => true, 
   ); 
END;

顺便说一句,您可能应该将repeat_interval 添加到您的create_job

【讨论】:

  • 我尝试了您提到的答案,但似乎它会首先调用“BEGIN UP_TRYNR”。在“BEGIN UP_TRYNR”完成后,它将调用“YOUR_SECOND_PROCEDURE”。我想把他们叫到一起。
猜你喜欢
  • 1970-01-01
  • 2019-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多