1
创建作业使用DBMS_JOB作业中抛出:是否可以从DBMS_SCHEDULER作业中创建作业?
ORA-32317: cannot run a job from a job
有谁知道这一限制在DBMS_SCHEDULER被揭开?
创建作业使用DBMS_JOB作业中抛出:是否可以从DBMS_SCHEDULER作业中创建作业?
ORA-32317: cannot run a job from a job
有谁知道这一限制在DBMS_SCHEDULER被揭开?
是,您可以:
DECLARE
BEGIN
dbms_scheduler.create_job
(job_name => 'TEST1',
job_type=> 'PLSQL_BLOCK',
job_action=>'BEGIN dbms_scheduler.create_job
(job_name => ''TEST2'',
job_type=> ''PLSQL_BLOCK'',
job_action=>''DECLARE v_result NUMBER; BEGIN SELECT 1 INTO v_result FROM dual; END;'',
start_date=>SYSDATE,
repeat_interval=>''FREQ=DAILY'',
end_date=>SYSDATE+1,
enabled=>true,
auto_drop=>false,
comments=>''Job submitted FROM a job''); end;',
start_date=>SYSDATE,
repeat_interval=>'FREQ=DAILY',
end_date=>SYSDATE+1,
enabled=>true,
auto_drop=>false,
comments=>'Job to submit a job');
END;
这证明了概念。您可以调用一个过程而不是内联的PL/SQL块来完成您的作业提交。很明显,您可以调整create_job过程的任何或全部参数。我想你可能会产生一项产生另一份工作的工作。
你想要做什么? dbms_scheduler具有链的概念,这是一组按同步或顺序运行的作业,具体取决于如何定义链规则。 – tbone