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