欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

定时执行Oracle作业任务

程序员文章站 2022-05-17 18:41:47
...

创建一个Oracle数据表,并创建一个过程,使一分钟运行该过程一次。

创建一个Oracle数据表,并创建一个过程,使一分钟运行该过程一次。

1)创建表。

SQL> create table test (mydate date);

Table created.

(2)创建一个自定义过程。

SQL> create or replace procedure proc_test as
2 BEGIN
3 insert into test values(sysdate);
4 END;
5 /

Procedure created.

(3)创建JOB。

SQL> var job number
SQL> var job number;

--每天1440分钟,一分钟运行test过程一次
SQL> begin
2 dbms_job.submit(:job,'proc_test;',sysdate,'sysdate+1/1440');
3 END;
4 /

PL/SQL procedure successfully completed.

(4)运行JOB。

SQL> BEGIN
2 dbms_job.run(:job);
3 END;
4 /

PL/SQL procedure successfully completed.

(5)查询下看看是否定时执行了JOB

SQL> SELECT to_char(mydate,'yyyy/mm/dd hh24:mi:ss')insertedtime FROM test;

INSERTEDTIME
-------------------
2013/01/24 04:40:10
2013/01/24 04:42:12
2013/01/24 04:43:17
2013/01/24 04:41:11
2013/01/24 04:39:08


(6)删除JOB。

SQL> begin
2 dbms_job.remove(:job);
3 END;
4 /

PL/SQL procedure successfully completed.

定时执行Oracle作业任务