定義job 兩點執行過程
declare job1 number;
begin
dbms_job.submit(job1,
'lv;
',trunc(sysdate+1)+2/24,'trunc(sysdate+1)+2/24'
);commit;
end;
job常見的執行時間給你寫出一些
1
、每分鐘執行
trunc(sysdate,'mi')+1/(24*60)
2
、每天定時執行
例如:每天凌晨
0點執行
trunc(sysdate+1)
每天凌晨
1點執行
trunc(sysdate+1)+1/24
每天早上
8點
30分執行
trunc(sysdate+1)+(8*60+30)/(24*60)
3
、每週定時執行
例如:每週一凌晨
2點執行
trunc(next_day(sysdate,1))+2/24
trunc(next_day(sysdate,'星期一
'))+2/24
每週二中午
12點執行
trunc(next_day(sysdate,2))+12/24
trunc(next_day(sysdate,'星期二
'))+12/24
4
、每月定時執行
例如:每月
1日凌晨
0點執行
trunc(last_day(sysdate)+1)
每月
1日凌晨
1點執行
trunc(last_day(sysdate)+1)+1/24
5
、每季度定時執行
每季度的第一天凌晨
0點執行
trunc(add_months(sysdate,3),'q')
每季度的第一天凌晨
2點執行
trunc(add_months(sysdate,3),'q')+2/24
每季度的最後一天的晚上
11點執行
trunc(add_months(sysdate+ 2/24,3),'q')-1/24
6
、每半年定時執行
例如:每年
7月
1日和1月
1日凌晨1
點執行
add_months(trunc(sysdate,'yyyy'),6)+1/24
7
、每年定時執行
例如:每年
1月
1日凌晨
2點執行
add_months(trunc(sysdate,'yyyy'),12)+2/24
語法解釋:
dbms_job.submit
(:jobno,//job號
'your_procedure;',//要執行的過程
trunc(sysdate)+1/24,//下次執行時間
'trunc(sysdate)+1/24+1'//每次間隔時間
);
刪除job:dbms_job.remove(jobno);
修改要執行的操作:dbms_job.interval(job,interval);
停止job:dbms.broken(job,broken,nextdate);
啟動job:dbms_job.run(jobno);
附:呼叫語句和引數說明:
dbms_job.submit( job out binary_integer,
what in archar2,
next_date in date,
interval in varchar2,
no_parse in boolean)
其中:● job:輸出變數,是此任務在任務佇列中的編號;
● what:執行的任務的名稱及其輸入引數;
● next_date:任務執行的時間;
● interval:任務執行的時間間隔。
儲存過程定時執行
有兩種方法 1 編寫 shell 指令碼,使用 crontab 在後台定時執行 a shell 指令碼pr merge query report.sh bin sh oracle base oracle home 指定環境變數 oracle home oracle home data nls lan...
儲存過程定時執行
儲存過程定時執行 有兩種方法 1 編寫 shell 指令碼,使用 crontab 在後台定時執行 a shell 指令碼bash 2.03 more pr merge query report.sh bin sh oracle base oracle home 指定環境變數 oracle home ...
定時執行儲存過程
下面是我在網上抄的一段話.其實有傻瓜式的方法.開啟sql server管理器,如果版本高的話,可以看到有sql server 點開它自己琢磨下就會了.太簡單就不寫出來了.建立作業就行了.建立作業 exec msdb.sp add job job name 資料處理 建立作業步驟 declare sq...