读完原文章后感觉不怎么方便因此把原文章从新排版编辑记录一下。
一、Job - 定时器
1.基础语法
variable jobNo number;
dbms_job.submit(
:jobNo, —— job号
'your_procedure;', —— 执行的存储过程, ';'不能省略
next_date, —— 启动时间
'interval' —— 执行频率
);
1.1.详细说明
jobNo:系统自动分配的任务号。定时器执行后,可在表user_jobs中找到。
your_procedure:存储过程的名称。
next_date:启动的时间。当为sysdate时表立即执行。
interval:隔多久执行一次。
例:
declare -- 声明
jobNo number;
begin
sys.dbms_job.submit(jobNo,
'PKG_DAILY_INSPECTION.USP_DAILY_INSPECTION;',
to_date('2019-01-05 23:00:00', 'yyyy-mm-dd hh24:mi:ss'),
'TRUNC(sysdate) + 1 +23/ (24)'); -- 每天23点执行
commit;
end;
2.启动定时任务
dbms_job.run(jobno);
例:
-- 启动 jobNo=316的定时器