Oracle定時器用法詳解與案例

2021-10-08 19:47:42 字數 2098 閱讀 3299

1.建立乙個儲存過程,插入user表一條資料

create or replace procedure auto_insert_timestamp authid current_user is;

begin

//插入一條資料

insert into user("id", "user_id", "cert_no", "cert_notafter_time", "remark", "status", "create_time")

values('11111','userid','certid',20202222,'remark',1,20201111);

//提交

commit;

end auto_insert_timestamp;

2.建立乙個定時器,每分鐘觸發一次儲存過程插入一條資料

job => job, 自動生成job_id

what => 『auto_insert_timestamp;』,需要執行的儲存過程名稱或sql語句

next_date => sysdate+3/(2460), 初次執行時間-下乙個3分鐘

interval => 『trunc(sysdate,』『mi』』)+1/(2460)』 每隔1分鐘執行一次

declare

job number;

begin

dbms_job.submit(

job => job, /*自動生成job_id*/

what => 'auto_insert_timestamp;', /*需要執行的儲存過程名稱或sql語句*/

next_date => sysdate+3/(24*60), /*初次執行時間-下乙個3分鐘*/

interval => 'trunc(sysdate,''mi'')+1/(24*60)' /*每隔1分鐘執行一次*/

); commit;

end;

interval 相關時間處理

interval => trunc(sysdate,』mi』) + 1 / (24*60) ; --每分鐘執行

interval => trunc(sysdate) + 1 +2 / (24);  --每天定時執行:每天的凌晨2點執行

interval => trunc(next_day(sysdate,2))+2/24   --每週定時執行:每週一凌晨2點執行(周一為一周的第二天)

interval =>trunc(last_day(sysdate))+1+2/24; --每月定時執行:每月1日凌晨2點執行

interval => trunc(add_months(sysdate,3),『q』) + 2/24;  --每季度定時執行:每季度的第一天凌晨2點執行

interval => add_months(trunc(sysdate,『yyyy』),6)+2/24;  --每半年定時執行:每年7月1日和1月1日凌晨2點

interval =>add_months(trunc(sysdate,『yyyy』),12)+2/24;  --每年定時執行:每年1月1日凌晨2點執行

job相關處理

id:下圖的job欄位對應的值,job的id

dbms_job.remove(id); --根據id刪除某個定時器

dbms_job.run(id); --啟動定時器

dbms_job.broken(id,true) --true y 定時器狀態停止 ;false n 定時器狀態執行。資料庫存n,y如下圖

dbms_job.next_date(id,to_date(『2020-08-03 22:00:00』,『yyyy-mm-dd hh24:mi:ss』)) --修改定時器的下次執行時間

dbms_job.interval(id,『sysdate+1/24』) --修改定時器的間隔時間

dbms_job.what(id,『auto_insert_timestamp ;』) --修改定時器的儲存過程

查詢job相關資訊

MFC 定時器用法

mfc定時器的使用 1.在標頭檔案定義乙個afx msg void ontimer uint ptr nidevent 函式 定義乙個定時器id define systimetimer 1 2.實現該函式 void cminigatetes lg ontimer uint ptr nidevent ...

as3 定時器用法

關鍵字 flas actionscript3.0 雖 然flash擁有越來越強大的周邊功能,但其核心依然是一款動畫製作軟體。在flash設計環境中,不編寫指令碼 也能快速製作出效果驚人的時間軸動 畫。但此類動畫是固定的,無法根據環境動態調整。使用actionscript生成和控制動畫,才能隨心駕馭動...

Linux下的定時器用法

在linux下提供了兩種基本的timer機制 alarm和settimer。1 alarm include unsigned int alarm unsigned int seconds 這是個最簡單的timer,當呼叫了alarm n 時,等待n秒後,就會觸發一次sigalrm訊號,故需要在呼叫a...