操作方法
创建一个简单的临时测试表 create table test_job ( id number(12), c_date date );
创建一个简单的临时序列 create sequence seq_test_job_id minvalue 1 maxvalue 9999999999999999 start with 141 increment by 1 cache 20; minvalue 表示最小值 maxvalue 自增长最大值 start with 141 表示从141开始 increment by 1 每次加1 seq_test_job_id.nextval 大小为142
创建一个存储过程 将数据插入到test_job 表中 create or replace procedure pro_test_job is begin insert into test_job values(seq_test_job_id.nextval,sysdate); end pro_test_job;
创建一个job,创建完之后,会自动运行 declare job number; begin --每天1440分钟,即一分钟运行test过程一次 sys.dbms_job.submit(job,'pro_test_job;',sysdate,'sysdate+1/1440'); end; submit()函数,有五个参数:job,what,next_date,interval与no_parse PROCEDURE Submit ( job OUT binary_ineger, What IN varchar2, next_date IN date, interval IN varchar2, no_parse IN booean:=FALSE) job 指一个job的唯一标识。 what 指 这个job需要执行的plsql语句。 next_date 指下一次何时将运行这个job。 interval 指这个job执行的频率 no_parse
检查oracle job是否正常运行 select * from job_test;
查看job select job,what,next_date,interval from dba_jobs;
手动运行job begin dbms_job.run(3); --3 表示 是dba_jobs中job列 end;
删除job begin dbms_job.remove(3); end; 注意:删除只能本用户删除,否则报错 ora-23421