创建ORACLE定时任务

本文详细介绍如何在Oracle中创建并使用存储过程,以及如何通过dbms_job.submit函数设置定时任务来定期调用这些存储过程。包括创建存储过程、设置定时任务、查询定时任务状态等操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:创建好存储过程

2.创建定时任务

begin
dbms_job.submit(job=>job111,what=>'MH_POLICEMAN_GPS_INFO_PROC;',next_date=>to_date('20191120 21:30:00','yyyyMMdd hh24:mi:ss'),interval=>'sysdate+1+30/(24*60)',no_parse=>false);
end;

说明一下  job11这个可随便定义
dbms_job.submit(
job => :job, //以JOB的方式进行提交
what => '存储过程名称', //job调用的存储过程,建job的目的是要调用存储过程
next_date => sysdate, // 设置的时间是由系统自动生成,可以根据自己的需要设置该时间
interval => 'sysdate+1'); // 多长时间调用一次,时间间隔是一天,根据需要可以自己设置

3..创建job,

BEGIN
  DBMS_JOB.RUN(23);
  commit;
END;

23 就是定时器得索引  可根据下面方式查出
select * from user_jobs;——查看调度任务

select * from dba_jobs_running;——查看正在执行的调度任务

select * from dba_jobs;——查看执行完的调度任务

4.查询

select job,broken,what,interval,t.* from user_jobs t;
select job,broken,what,interval,t.* from user_jobs t;
job broken what interval ...
81 N job_proc; TRUNC(sysdate,'mi') + 1 / (24*60) ...

 

5.参数介绍
job job的唯一标识,自动生成的
broken 是否处于运行状态,N;运行;Y:停止
what 存储过程名称
interval 定义的执行时间

补充:
描述 INTERVAL参数值
每天午夜12点 ''TRUNC(SYSDATE + 1)''
每天早上8点30分 ''TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)''
每星期二中午12点 ''NEXT_DAY(TRUNC(SYSDATE ), ''''TUESDAY'''' ) + 12/24''
每个月第一天的午夜12点 ''TRUNC(LAST_DAY(SYSDATE ) + 1)''
每个季度最后一天的晚上11点 ''TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), ''Q'' ) -1/24''
每星期六和日早上6点10分 ''TRUNC(LEAST(NEXT_DAY(SYSDATE, ''''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×e799bee5baa6e78988e69d833133333761386260+10)/(24×60)''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值