Oracle定时器
1.Oracle定时器语法
declare
jobno number;
begin dbms_job.submit(
job out binary_integer,-- 任务编号
what in varchar2,-- 任务过程
next_date in date,-- 任务执行时间
interval in varchar2-- 任务执行时间间隔
);
commit;
end;
关于interval的设置,参考以下几个例子:
-- 1.每分钟执行
'trunc(sysdate,''mi'')+1/(24*60)'
-- 2.每天定时执行
-- 例如:每天的凌晨2点执行
'trunc(sysdate)+1+(2/24)'
-- 3.每周定时执行
-- 例如:每周一凌晨2点执行
'trunc(next_day(sysdate,2))+(2/24)'
-- 4.每月定时执行
-- 例如:每月1日凌晨2点执行
'trunc(last_day(sysdate))+1+(2/24)'
-- 5.每季度定时执行
-- 例如每季度的第一天凌晨2点执行
'trunc(add_months(sysdate,3),''Q'')+(2/24)'
-- 6.每半年定时执行
-- 例如:每年7月1日和1月1日凌晨2点
'add_months(trunc(sysdate,''yyyy''),6)+(2/24)'
-- 7.每年定时执行
-- 每年1月1日凌晨2点执行
'add_months(trunc(sysdate,''yyyy''),12)+(2/24)'