Oracle中的定時器

2021-06-18 03:04:59 字數 1120 閱讀 7616

oracle中的定時器

begin

sys.dbms_job.submit(job => :job,

what => 'check_err;',

next_date => trunc(sysdate)+23/24,

interval => 'trunc(next_day(sysdate,''星期五''))+23/24');

commit;

end;

其中:job是系統自動產生編號,check_err是自己的乙個過程或函式,next_date設定下次執行時間,這裡是今天晚上23:00,interval設定時間間隔,多久執行一次,這裡是每週的星期五晚上23:00,函式next_day返回日期中包含指定字元的日期,trunc 函式去掉日期裡的時間,也就是得到的是某天的00:00,時間是以天為單位的所以要得到某某點某某分,就需要分數:

1、 每分鐘執行

interval => trunc(sysdate,』mi』) + 1 / (24*60)

2、 每天定時執行

例如:每天的凌晨2點執行

interval => trunc(sysdate) + 1 +2 / (24)

3、 每週定時執行

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

interval => trunc(next_day(sysdate,'星期一'))+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'),6)+2/24

0 給主人留下些什麼吧!~~

oracle中建立定時器

建立定時器 create or replace procedure p test job is 判斷任務是否已被建立,若任務被建立過,則 i ist 0 i ist number 0 歸檔任務標識 jobid number begin select count into i ist from all...

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...

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...