create table JOB_RECORD ( taskName VARCHAR2(200) excutetime DATE ) create or replace procedure sp_CreateJobHistory is begin insert into job_Record(taskName,EXCUTETIME) values('定时抽数据',sysdate); end; declare job number; BEGIN DBMS_JOB.SUBMIT( JOB => job, /*自动生成JOB_ID*/ WHAT => 'sp_CreateJobHistory;', /*需要执行的存储过程名称或SQL语句*/ NEXT_DATE => sysdate+3/(24*60), /*初次执行时间-下一个3分钟*/ INTERVAL => 'trunc(sysdate,''mi'')+1/(24*60)' /*每隔1分钟执行一次*/ ); commit; end; begin DBMS_JOB.RUN(43); /*40 job的id*/ end; begin /*删除自动执行的job*/ dbms_job.remove(43); end; --修改间隔时间 dbms_job.interval(job,interval); --修改下次执行时间 dbms_job.next_date(job,next_date); --修改Job的执行内容 dbms_job.what(jobno,'sp_fact_charge_code;');