JOB在实际应用中,使用很多。一般用户定时执行某些函数,存储过程等。下面看看如何创建并启动JOB。
例如,使用job定时执行某个存储过程。
存储过程名:Pro_Test_JOB
执行间隔:2小时,
sql语句如下
declare
job number;
v_count number;
begin
SELECT COUNT(*)
INTO v_count
FROM user_jobs uj
WHERE upper(uj.what) =
UPPER('Pro_Test_JOB;');
if v_count = 0 then
sys.dbms_job.submit(job => job,
what =>
'Pro_Test_JOB;',
next_date =>sysdate ,
interval => 'sysdate+2/24');
dbms_job.run(job);
commit;
end if;
end;
这里有几个主要参数要说明一下。
job-是指JOB的ID,自动生成的。
what-job的内容,如果带参数的job,此处可以是一段脚本。
next_date-下次执行时间。
interval-执行频率。
此处是不带参数的job,如果需要输入参数如何写sql呢,请看下一篇文章。