--建立日誌資訊表(測試表)
create table t_log (
id number,
datetime date
);--插入測試資料
insert into t_log values (1,'25-5月-2006');
--檢視日誌資訊
select * from t_log;
--建立刪除日誌資訊的儲存過程
create or replace
procedure pro_clear_log as
begin
delete from t_log where datetime < add_months(sysdate,-12); --刪除一年前的儲存過程
commit;
end;
--建立排程任務
declare
jobno number;
begin
dbms_job.submit(
jobno,
what => 'pro_clear_log;', --pro_clear_log為儲存過程的名稱
interval => 'trunc(sysdate,''mi'') + 1 / (24*60)' --定義時間間隔
);
commit;
end;
select * from user_jobs;--檢視排程任務
select * from dba_jobs_running;--檢視正在執行的排程任務
select * from dba_jobs;--檢視執行完的排程任務
--刪除排程任務
declare
jobno number;
begin
dbms_job.remove(48) ;
commit;
end;
1、 每分鐘執行
interval => trunc(sysdate,』mi』) + 1 / (24*60)
2、 每天定時執行
例如:每天的凌晨2點執行
interval => trunc(sysdate) + 1 +2 / (24)
3、 每週定時執行
例如:每週一凌晨2點執行
interval => trunc(next_day(sysdate,2))+2/24 --星期一,一周的第二天
4、 每月定時執行
例如:每月1日凌晨2點執行
interval =>trunc(last_day(sysdate))+1+2/24
5、 每季度定時執行
例如每季度的第一天凌晨2點執行
interval => trunc(add_months(sysdate,3),'q') + 2/24
6、 每半年定時執行
例如:每年7月1日和1月1日凌晨2點
interval => add_months(trunc(sysdate,'yyyy'),6)+2/24
7、 每年定時執行
例如:每年1月1日凌晨2點執行
interval =>add_months(trunc(sysdate,'yyyy'),12)+2/24
mysql 建立定時器
mysql定時器是系統給提供了event,而oracle裡面的定時器是系統給提供的job。廢話少說,下面建立表 create table mytable id int auto increment not null,name varchar 100 not null default introduc...
Oracle建立定時器
建立日誌資訊表 測試表 create table t log id number,datetime date 插入測試資料 insert into t log values 1,25 5月 2006 檢視日誌資訊 select from t log 建立刪除日誌資訊的儲存過程 create or r...
MySql 建立定時器
檢視定時器狀態 off 關閉,on 開啟 show variables like event sche 開啟定時器 set global event scheduler 1 以上的改法在資料庫重啟後將會恢復為原來狀態,要想資料庫重啟後也可以讓event scheduler開啟,則需要在配置檔案my....