一、啟動SQL*PLUS Worksheet
二、建立啟動作業:
2.1、建立啟動作業代碼
variable jobno1 number;
begin
dbms_job.submit(:jobno1,'qy_main;',sysdate,'trunc(sysdate+30,''MM'')+24');
dbms_job.run(:jobno1);
commit;
end;
2.2、建立啟動作業的規則如下
VARIABLE JOB NUMBER;
BEGIN
DBMS_JOB.SUBMIT(
JOB => :JOB, /*自動產生JOB_ID*/
WHAT => 'CREATE_TASK_BY_PLAN;', /*需要執行的過程或SQL語句*/
NEXT_DATE => TRUNC(SYSDATE+1)+6/24, /*初次執行時間*/
INTERVAL => 'TRUNC(SYSDATE+1)+6/24'); /*執行循環*/
DBMS_JOB.RUN(:JOB); /* :JOB為自動產生JOB_ID*/
COMMIT;
END;
2.3、建立啟動作業注意事項
(1)寫submit時候job號前加“:” ,如::jobno1
(2)預存程序名稱後加“;”
(3)初次執行時間不用“'”擴上
三、刪除作業
在Worksheet中用代碼刪除作業。
3.1.1、刪除作業代碼
begin
dbms_job.REMOVE(82); /*83為自動產生的作業號碼*/
end;
3.1.2、擷取作業號碼代碼
select job,last_sec,next_sec from user_jobs;/*根據檢索的相關資訊獲得將要刪除的作業號碼。*/
3.1.3、刪除作業的規則如下
BEGIN
DBMS_JOB.REMOVE(:JOB); /* :JOB為自動產生JOB_ID*/
END;
3.2 、方法二
可以登入PL/SQL在job檔案夾裡找到想要刪除的作業,右鍵drop直接刪除
四、修改作業
修改作業一般是對作業的下次執行時間和時間間隔進行修改,修改的方法如下:
4.1、方法一
在Worksheet中用代碼修改下次執行時間和時間間隔
4.1.1、修改下次執行時間
4.1.1.1、修改下次執行時間代碼
begin
dbms_job.next_date(82,trunc(sysdate)+1+3.5/24);
end;
4.1.1.2、修改下次執行時間的規則
Begin
dbms_job.next_date(:job,next_date); /*:job 為將要修改的作業號碼,next_date 為將要改為的下次執行時間*/
end;
4.1.2、修改作業時間間隔
4.1.2.1、修改作業時間間隔代碼
begin
dbms_job.interval(82,'trunc(sysdate)+20+3.5/24');
end;
4.1.2.2、修改時間間隔代碼規則
Begin
dbms_job.interval(job,interval); /*:job 為將要修改的作業號碼,interval 為將要改為的時間間隔,注意不要忘記引號*/
end;
4.1.2.3、可供參考的時間間隔
trunc(sysdate,'yyyy') --返回當年第一天.
trunc(sysdate,'mm') --返回當月第一天.
trunc(sysdate,'d') --返回當前星期的第一天.
'TRUNC(SYSDATE + 1)' --每天午夜12點
'TRUNC(SYSDATE) + (8*60+30)/(24*60)' --每天早上8點30分
4.2、方法二
可以登入PL/SQL在job檔案夾裡找到想要修改的作業,右鍵Edit直接修改,修改後需要儲存重新登入生效。