如果需要創建帶參數的job,如何創建呢。
我們直接將參數聲明,並賦值,然後傳給job調用的存儲過程即可。
例如,存儲過程名為Pro_Test_JOB,參數共有一個,是VARCHAR2類型。
創建JOB如下:
declare
job number;
v_count number;
begin
SELECT COUNT(*)
INTO v_count
FROM user_jobs uj
WHERE upper(uj.what) =
UPPER('declare para_data VARCHAR2(100):=''參數'';begin Pro_Test_JOB(para_data); end;');
if v_count = 0 then
sys.dbms_job.submit(job => job,
what =>
'declare para_data VARCHAR2(100):=''參數'';begin Pro_Test_JOB(para_data); end;',
next_date =>sysdate ,
interval => 'sysdate+2/24');
dbms_job.run(job);
commit;
end if;
end;