Oracle定时器

Posted 陆伟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle定时器相关的知识,希望对你有一定的参考价值。

实现步骤: 
  1.创建一个测试表 
create table test(dTime date); 
  
  2.创建一个存储过程 
create or replace procedure p_test as 
begin 
insert into test values(sysdate); 
end; 

  3.创建执行计划:每小时运行一次存储过程 
Declare 
  i Integer; 
Begin 
   dbms_job.submit(i,\'p_test;\',Sysdate,\'sysdate+1/24\'); 
end; 


4.运行执行计划 Declare jobno Integer; Begin -- 查找计划号 Select t.JOB into jobno From User_Jobs t where t.JOB=\'45\'; -- 运行制定的执行计划 dbms_job.run(jobno); end; 5.查看任务队列情况 select job,next_date,next_sec,failures,broken from user_jobs; 6.查看任务执行情况 select to_char(dTime ,\'yyyy/mm/dd hh24:mi:ss\') from test order By dTime; 7.停止执行计划 Declare jobno Integer; Begin -- 查找计划号 Select t.JOB into jobno From User_Jobs t where t.JOB=\'45\'; -- 停止计划,不再继续执行 --dbms_job.broken(jobno,True); -- 停止计划,并在两分钟后继续执行 dbms_job.broken(jobno,True,Sysdate+(2/24/60)); end; 8.删除执行计划 Declare jobno Integer; Begin -- 查找计划号 Select t.JOB into jobno From User_Jobs t where t.JOB=\'45\'; dbms_job.remove(jobno); end; 9.修改执行计划 Declare jobno Integer; Begin -- 查找计划号 Select t.JOB into jobno From User_Jobs t where t.JOB=\'45\'; -- 修改为:每分钟执行一次 dbms_job.interval(jobno, \'sysdate+1/(24*60)\'); end;

 

以上是关于Oracle定时器的主要内容,如果未能解决你的问题,请参考以下文章

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段

如何在使用片段和计时器的选项卡式活动上更新 UI

测试片段不执行定时器或示例超时

前端面试题之手写promise

怎样实现每天自动执行oracle的存储过程一次

oracle定时器调用存储过程