Oracle的定时任务创建

本文详细介绍了如何在SQL中创建序列、表,并通过存储过程实现定时任务的执行,包括创建序列、表、存储过程,以及如何管理定时任务如添加、检查和删除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

drop sequence s_CarInfoID ;
drop table test ;
/
--创建序列 


create    sequence    s_CarInfoID   --序列名     
increment    by    1      --每次增加1
start    with    1      --从1开始
nomaxvalue      --没有最大值
nocache         --没有缓存序列
/
--创建表 
 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;
/


--检查是否存在 pro_test定时任务 ,有的话先删除
declare
  jobno number;
  countnum int;
begin  
	select count(1) into countnum from user_jobs WHERE what like '%pro_test%';
  if (countnum = 1) then   
     select  job into jobno  FROM user_jobs WHERE what like '%pro_test%';   
     DBMS_JOB.REMOVE(jobno);
	   COMMIT;
  end if;
end;
/

---增加一个定时任务 
VARIABLE jobno number;
begin
DBMS_JOB.SUBMIT(:jobno,
'pro_test;',
SYSDATE,'sysdate+1/24/12');  --5分钟执行一次 

commit;
end;
/

--检查任务  select job,next_date,next_sec,failures,broken from user_jobs
--执行任务 
begin
dbms_job.run(51);
commit;
end; 

--删除任务  
begin
dbms_job.remove(51);
commit;
end;
     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值