Oracle定时任务

创建表

create table TEST
(
  CARNO     VARCHAR2(30),
  CARINFOID NUMBER
)

 

创建存储过程

create or replace procedure pro_test
AS
carinfo_id number;
BEGIN
	select s_CarInfoID.nextval into carinfo_id from dual;
	insert into test(test.carno,test.carinfoid) values(carinfo_id,'123');
commit;
end pro_test;

 

启动任务:

VARIABLE jobno number;
begin
  DBMS_JOB.SUBMIT(:jobno, 'pro_test;',SYSDATE,'sysdate+1/24/12');
commit;
end;

 

跟踪任务

select job,next_date,next_sec,failures,broken,what from user_jobs;

 

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

select job,next_date,next_sec,failures,broken,what from user_jobs; 

 

以查看定时任务的job号。

begin
 dbms_job.remove(1);
commit;
end;

 

每天运行一次 'SYSDATE + 1'
每小时运行一次 'SYSDATE + 1/24'
每10分钟运行一次 'SYSDATE + 10/(60*24)'
每30秒运行一次 'SYSDATE + 30/(60*24*60)'
每隔一星期运行一次 'SYSDATE + 7'
不再运行该任务并删除它 NULL

你可能感兴趣的:(oracle)