2016-09-27 81 views
3

我需要使用单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程序中调用该另一个程序。

我该怎么办?

+0

你想依次执行PROC1和PROC2?或者两者同时? –

+0

同时PROC1和PROC2 .. – SYMA

回答

4

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_intervalcreate_job

+0

我试过你提到的答案,但似乎它会首先调用'BEGIN UP_TRYNR'。 'BEGIN UP_TRYNR'完成后,它会调用'YOUR_SECOND_PROCEDURE'。我想一起打电话给他们。 – SYMA

+0

看看这个:https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4712493580500 –

相关问题