Oracle定时任务

创建表

Sql代码 复制代码 收藏代码
Sql代码 复制代码 收藏代码
  1. create table TEST 
  2.   CARNO     VARCHAR2(30), 
  3.   CARINFOID NUMBER 

创建存储过程

Sql代码 复制代码 收藏代码

Sql代码 复制代码 收藏代码
  1. create or replace procedure pro_test 
  2. AS 
  3. carinfo_id number; 
  4. BEGIN 
  5.     select s_CarInfoID.nextval into carinfo_id from dual; 
  6.     insert into test(test.carno,test.carinfoid) values(carinfo_id,'123'); 
  7. commit
  8. end pro_test; 

启动任务:

Sql代码 复制代码 收藏代码

Sql代码 复制代码 收藏代码
  1. VARIABLE jobno number; 
  2. begin 
  3.   DBMS_JOB.SUBMIT(jobno, 'pro_test;',SYSDATE,'sysdate+1/24/12'); 
  4. commit
  5. end

跟踪任务

Sql代码 复制代码 收藏代码

Sql代码 复制代码 收藏代码
  1. select job,next_date,next_sec,failures,broken,what from user_jobs; 

执行select * from test t查看定时任务的结果
停止已经启动的定时任务
先执行

Sql代码 复制代码 收藏代码

Sql代码 复制代码 收藏代码
  1. select job,next_date,next_sec,failures,broken,what from user_jobs;  

以查看定时任务的job号。

Sql代码 复制代码 收藏代码

Sql代码 复制代码 收藏代码
  1. begin 
  2. dbms_job.remove(1);  //对应job的值 
  3. commit
  4. end

 

每天运行一次'SYSDATE + 1'
每小时运行一次'SYSDATE + 1/24'
每10分钟运行一次'SYSDATE + 10/(60*24)'
每30秒运行一次'SYSDATE + 30/(60*24*60)'
每隔一星期运行一次'SYSDATE + 7'
不再运行该任务并删除它NULL
posted @ 2012-09-27 23:47  therockthe  阅读(186)  评论(0)    收藏  举报