Oracle Job 定時任務執行Sql

第一步: 建立一個存儲過程sql

1:好比建立一個存儲過程名:PROC_DAYCUT_CTRL_UPDATEspa

plSql中執行SQL命令:開發

SELECT * FROM dba_Jobs a WHERE a.WHAT = 'PROC_DAYCUT_CTRL_UPDATE;';rem

檢查是否已經存在這個存儲過程,若是沒有存在,則能夠建立這個名get

create or replace procedure PROC_DAYCUT_CTRL_UPDATE as
begin
  update t_daycut_ctrl t3 set t3.prev_settle_date=TO_DATE(to_char(sysdate,'YYYY-MM-DD'),'YYYY-MM-DD');commit;
end;
/it

建立名爲:PROC_DAYCUT_CTRL_UPDATE 的存儲過程,執行想要的Sqldate

補充:查詢存儲過程的sqlselect

select TEXT from user_source where name='PROC_DAYCUT_CTRL_UPDATE';next

第二步:建立一個Job查詢

plSql中執行SQL命令:

declare proc_daycut_job number;
begin
  dbms_job.submit(proc_daycut_job,
  'PROC_DAYCUT_CTRL_UPDATE;',
  sysdate,'sysdate+1/1440'); 
  end;

解釋:建立了一個名字爲proc_daycut_job 每分鐘自動執行PROC_DAYCUT_CTRL_UPDATE存儲過程的Job

第三步:運行Job

 

建立好的Job默認是開啓的,因此沒有必要啓動,實在想啓動的話,先關閉,再啓動

先查詢Job號:

SELECT * FROM dba_Jobs a WHERE a.WHAT = 'PROC_DAYCUT_CTRL_UPDATE;';

1:中止Job

begin
  dbms_job.broken(249, true);
  commit;
end;
/
其中 249 爲查詢出來的Job號

2:啓動Job

begin
  dbms_job.run(249);
  commit;
end;
/

若是想刪除Job

begin
  dbms_job.remove(247);
  commit; 
end;
/

第四:補充知識

SELECT * FROM dba_Jobs a WHERE a.WHAT = 'PROC_DAYCUT_CTRL_UPDATE;';

查詢出來字段解釋:

 

dba_jobs中幾個比較重要的字段

job: 指的是job的id號。好比上面的 41

failures:job執行的時候失敗次數,若是超過了15次,那麼broken列將被標爲Y,之後就不會運行該job了

broken:默認爲N,若是爲Y,意味着再也不執行該job!

interval:執行job的間隔時間。

what:該job的實際工做。

其中:

描述 INTERVAL參數值

1:每分鐘執行

 

Interval => TRUNC(sysdate,'mi') + 1/ (24*60)

Interval => sysdate+1/1440

 

2:天天定時執行

例如:天天的凌晨1點執行

Interval => TRUNC(sysdate) + 1 +1/ (24)

3:每週定時執行

例如:每週一凌晨1點執行

Interval => TRUNC(next_day(sysdate,'星期一'))+1/24

4:每個月定時執行

例如:每個月1日凌晨1點執行

Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24

5:每季度定時執行

例如每季度的第一天凌晨1點執行

Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24

6:每半年定時執行

例如:每一年7月1日和1月1日凌晨1點

Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24

7:每一年定時執行

例如:每一年1月1日凌晨1點執行

Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24

 

後續有不少開發填坑的文章發佈,若是對你有幫助,請支持和加關注一下

http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944

https://shop119727980.taobao.com/?spm=0.0.0.0 

相關文章
相關標籤/搜索