最近需要写一个oracle的定时任务,以前没弄过,记录一下,我这是用PLSQL创建的
首先建一个测试表,create table t_test(time date)
写一个执行任务的存储过程
create or replace procedure proc_test as
begin
insert into t_test(time) values(sysdate);
end proc_test;
在plsql中找到DBMS_Jobs
新建一个Job
What 值里填写的存储过程名必须以;号结尾
时间间隔我这是10分钟执行一次,下一个日期可以不填
sysdate+1/(24*60*60) –1秒执行一次
TRUNC(sysdate+1) –每天凌晨0点执行
TRUNC(sysdate+1) + 2/24 –每天凌晨2点执行
翻译后的SQL:
begin
sys.dbms_job.submit(job => :job,
what => ‘proc_test’,
interval => ‘sysdate + 10/(24*60)’);
commit;
end;