日期:2014-05-16  浏览次数:20531 次

oracle job 定时执行 存储过程

转自:http://cherryqq.iteye.com/blog/855022

oracle job 定时执行 存储过程

    博客分类:?
  • oracle spring
OracleSQL?
oracle job 定时执行 存储过程

一:简单测试job的创建过程案例:?

1,先创建一张JOB_TEST表,字段为a?日期格式

SQL> create table JOB_TEST(a date);

Table created

SQL> commit;

Commit complete

2,创建一个存储过程?bb?作用是往pig表中插入数据

SQL> create or replace procedure?JOB_PRO_TEST as

??2??begin

??3??insert into JOB_TEST values(sysdate);

??4??end;

??5??/

Procedure created

?

3,创建一个job,名称为job2010?;作用是每分钟(60×24=1440)执行一次存储过程JOB_PRO_TEST

SQL> variable job2010 number;

SQL> begin

??2??dbms_job.submit(:job2010,'JOB_PRO_TEST;',sysdate,'sysdate+1/1440');

??3??end;

??4??/

注意:这里系统自动生成job id?为41

PL/SQL procedure successfully completed

job2010

---------

41

4,运行job2010

SQL> begin

??2??dbms_job.run(:job2010);

??3??end;

??4??/

PL/SQL procedure successfully completed

job2010

---------

41

5,删除job2010

SQL> begin

??2??dbms_job.remove(:job2010);

??3??end;

??4??/

6,查询jobs的相关视图

select?job,last_date,last_sec,broken,failures,interval, what?from?dba_jobs

详解?dba_jobs中几个比较重要的字段

job:?指的是job的id号。比如上面的?41