定时任务
应现在项目需求,需要在数据库写定时任务,
创建存储过程
需要提前创建一个存储过程。由于测试,简单一点来:
create or replace procedure TestJob is
begin
insert into ztest(name,createdate)
values('test',sysdate);
end;
创建定时任务
在plsql中找到右键新建
常见的时间间隔
表达式 | 解释 |
---|---|
TRUNC(sysdate,'mi') + 1/ (24*60) | 每分钟执行一次 |
TRUNC(sysdate,'hh') + 1/ (24) | 每小时执行一次 |
TRUNC(sysdate+ 1) +1/ (24) | 每天凌晨一点执行一次 |
TRUNC(next_day(sysdate,'星期一'))+1/24 | 每周一凌晨一点执行一次 |
TRUNC(LAST_DAY(SYSDATE))+1+1/24 | 每月1日凌晨1点执行 |
TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24 | 每季度的第一天凌晨1点执行 |
ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24 | 每年7/7与1/1凌晨一点执行 |
ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24 | 每年1/1凌晨一点定时执行 |
查看任务
可以使用select * from dba_jobs;
查看当前的任务。