我正在 Oracle (11R2) DBMS Scheduler 中构建作业链。链条有两个步骤。每个步骤都运行相同的程序,但参数不同。我可以看到如何定义链、步骤、规则等 - 但我不知道如何设置步骤的参数值。
当我构建单个调用程序的作业时,我设置的参数如下:
dbms_scheduler.set_job_argument_value(
job_name => 'MY_JOB',
argument_position => 1,
argument_value => 'foo');
我的问题是:我会调用哪个 dbms_scheduler func/proc 来设置作业步骤的参数?使用下面的示例,如何在“MY_CHAIN”中为“STEP_1”设置参数?
谢谢,约翰
DBMS_SCHEDULER.CREATE_CHAIN (
chain_name => 'MY_CHAIN',
rule_set_name => NULL,
evaluation_interval => NULL,
comments => 'Chain calls 2 steps. Same program but with different arg values.');
DBMS_SCHEDULER.DEFINE_CHAIN_STEP (
chain_name => 'MY_CHAIN',
step_name => 'STEP_1',
program_name => 'MY_PROGRAM');
DBMS_SCHEDULER.DEFINE_CHAIN_STEP (
chain_name => 'MY_CHAIN',
step_name => 'STEP_2',
program_name => 'MY_PROGRAM');
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'MY_CHAIN_JOB',
job_type => 'CHAIN',
job_action => 'MY_CHAIN',
repeat_interval => 'freq=daily;byhour=12;byminute=0;bysecond=0',
enabled => TRUE);