Home  >  Article  >  Database  >  Oracle定时任务 时间间隔

Oracle定时任务 时间间隔

WBOY
WBOYOriginal
2016-06-07 17:04:191088browse

当定义oracle定时任务时,时间间隔的定义是,一次任务的结束时刻到另一次任务的开始时刻。

当定义Oracle定时任务时,时间间隔的定义是,一次任务的结束时刻到另一次任务的开始时刻。

例:select (TRUNC(sysdate,'mi') + 1 / (24*60)),(sysdate + 1 / (24*60)) from dual

错误:sysdate + 1 / (24*60)作为时间间隔,这样每次计算下次执行时间时,,会把当前时间加进去,也就是任务的执行时间被加进去了。

正确:TRUNC(sysdate,'mi') + 1 / (24*60),用trunc忽略当前时间的误差(就是执行任务多出的时间)。这里首先我们要有共识,即按分钟跑的任务执行时间不能超过一分钟,按小时跑的任务执行时间不能超过一个小时,按天执行的任务执行时间不能超过一个小时。这样我们就可以用trunc去大胆的忽略,小时:TRUNC(sysdate,'hh24') + 1 / 24, 天:TRUNC(sysdate,'dd') + 1

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn