操作系统:Windows 或 Linux
数据库版本:Oracle Database 11.2.0.1.0 及以上版本
select * from user_jobs
declarejob_id pls_integer;
beginsys.dbms_job.submit(job => job_id,what => '存储过程名称;',next_date => sysdate,interval => 'trunc(sysdate+1)');commit;
end;
/
说明:其中
what 是 需要执行的存储过程名称,需要以半角分号结尾,并使用单引号包起来。存储过程不能有传入参数和传出参数。
next_date 是下次执行时间,一般可以指定为 sysdate
interval 是 周期,需要使用单引号包起来。以下是常用的周期代码
代码 | 说明 |
---|---|
trunc(sysdate+1) | 每天0:00:00 |
trunc(last_day(sysdate))+1+1/24 | 每月1日 1:00:00 |
begindbms_job.remove(job_id);commit;
end;
/
说明:其中 job_id 是 user_jobs 的 job 字段值。