用job oracle定時器調用存儲過程 1.創建一個表,爲了能清楚看到定時器的運行情況我們創建一個帶有日期字段的表 Sql代碼 create table job_table(run_time date); create table job_table(run_time date); 2.創建存儲過程 Sql代碼 create or replace procedure job_proc is begin insert into job_table (run_time) values (sysdate); end; create or replace procedure job_proc is begin insert into job_table (run_time) values (sysdate); end; 3.創建job,並且指定爲一分鐘執行一次 Sql代碼 declare job number; begin dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)'); end/ commit; declare job number; begin dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)'); end/ commit; 4.創建之後自動處於運行狀態,我們查詢job表,看看我們創建的job Sql代碼 select job,broken,what,interval,t.* from user_jobs; 參數介紹 job job的唯一標識,自動生成的 broken 是否處於運行狀態,N;運行;Y:停止 what 存儲過程名稱 interval 定義的執行時間 補充: 描述 INTERVAL參數值 每天午夜12點 ''TRUNC(SYSDATE + 1)'' 每天早上8點30分 ''TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'' 每星期二中午12點 ''NEXT_DAY(TRUNC(SYSDATE ), ''''TUESDAY'''' ) + 12/24'' 每個月第一天的午夜12點 ''TRUNC(LAST_DAY(SYSDATE ) + 1)'' 每個季度最後一天的晚上11點 ''TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), ''Q'' ) -1/24'' 每星期六和日早上6點10分 ''TRUNC(LEAST(NEXT_DAY(SYSDATE, ''''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)''
oracle 定時執行存儲過程和刪除定時任務
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.