1、创建job
declare jobno number;
begin
sys.dbms_job.submit( jobno,
‘dayReport;’,
sysdate,
‘trunc(sysdate,”mi”)+1/(24*60)’ );
commit;
end;
注:dayReport 为存储过程名字
2、查询当前用户创建的job
select * from sys.user_jobs /查询job/
3、启动job
/启动job /
begin
dbms_job.run(63);
commit;
end;
63为job序号
4、停止job
/停止job/
begin
dbms_job.broken(63,true);
commit;
end;
5、设置job运行的时间
/每天早上8:30执行/
begin
dbms_job.interval(63,’TRUNC(SYSDATE+1)+(8*60+30)/(24*60)’);
commit;
end;
备注:
每天午夜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*60+10)/(24*60)’
每天运行一次 ‘SYSDATE + 1’
每小时运行一次 ‘SYSDATE + 1/24’
每10分钟运行一次 ‘SYSDATE + 10/(60*24)’
每30秒运行一次 ‘SYSDATE + 30/(60*24*60)’
每隔一星期运行一次 ‘SYSDATE + 7’
在Oracle JOB间隔时间参考,其中li_jobno是它的ID,可以通过这个ID停掉这个任务