declare
job binary_integer; --任務id
v_begin date; --開始時間
v_interval varchar2(50); --時間間隔
begin
v_begin:=sysdate;--當前時間開始執行
v_interval:= 'trunc(sysdate,''mi'') + 1/ (24*60)'; --每分鐘執行一次, 可以更改
dbms_job.submit(job,
'test_pkg;', --儲存過程名稱
v_begin,
v_interval,
false,
0,false);
commit;
end;
在plsql中的sql視窗執行上面的**段後, 在左邊樹dbms_jobs資料夾裡將自動生成job
v_interval是job執行的頻率, 示例如:
每天午夜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)'
其中li_jobno是它的id,可以通過這個id停掉這個任務,最後想說的是不要執行多次,你可以在裡面管理起來,發現已經執行了就不submit
每天執行一次 'sysdate + 1'
每小時執行一次 'sysdate + 1/24'
每10分鐘執行一次 'sysdate + 10/(60*24)'
每30秒執行一次 'sysdate + 30/(60*24*60)'
每隔一星期執行一次 'sysdate + 7'
不再執行該任務並刪除它 null
每年1月1號零時 trunc(last_day(to_date(extract(year from sysdate)||'12'||'01','yyyy-mm-dd'))+1)
job的作用是定時呼叫儲存過程
ORACLE如何停止乙個JOB
oracle 如何停止乙個 job dba jobs all jobs user jobs 包含登入使用者所有的 job資訊 dba jobs running 包含正在執行 job相關資訊 注意 須使用oracle 的sys 使用者登入到資料庫,才能檢視 dba jobs running,v pro...
乙個簡單的定時job
因為工作需要,每天半夜定時更新某個字段,就寫了乙個定時任務呼叫乙個儲存過程,都是一些簡單的操作。首先看下儲存過程,create or replace procedure chan contract nowork is begin update basic contract labor set whe...
建立乙個類
c 是一門物件導向的程式語言,而物件導向的基礎就是類 使用c 建立乙個student類 class student 學生類 輸出學生的資訊 void outputstudent void void student input char name,int age,int no void student...