定时执行存储过程在平时开发中经常会用到,年前的时候自己也做了一个,由于时间关系一直没能记录,现记录下来。 
   
   首先用一个完整的例子来实现定时执行存储过程。

任务目标:每小时向test表中插入一条数据

实现方案: 
    1.通过 oracle 中 dbms_job 完成存储过程的定时调用 
    2.在存储过程中完成相应的逻辑操作

实现步骤: 
  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 ; 
-- 运行制定的执行计划 
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 ; 
  -- 停止计划,不再继续执行 
  --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 ; 
  dbms_job.remove(jobno); 
end;

9.修改执行计划 
Declare 
  jobno Integer; 
Begin 
  -- 查找计划号 
  Select t.JOB into jobno From User_Jobs t ; 
  -- 修改为:每分钟执行一次 
  dbms_job.interval(jobno, 'sysdate+1/(24*60)'); 
end;

参数说明: 
DBMS_JOB.SUBMIT(jobno =>jobID,//对应的唯一id(jobID <-> jobName)唯一映射 
               procedureName=> 'your_procedure;',  //调用的存储过程名称 
                 next_date => sysdate,   //下次执行的时间(第一次执行的时间) 
                 interval => 'sysdate+1/1440');  //每次执行间隔的时间

以上就是定时执行存储过程的全部内容,留待后用吧。

http://lafecat.iteye.com/blog/2186568

Oracle定时执行存储过程(转)的更多相关文章

  1. ORACLE 定时执行存储过程

    推荐用dbms_scheduler方式更好 (2012-11-19注) /* 查询: select job,broken,what,interval,t.* from user_jobs t; job ...

  2. Oracle定时执行存储过程

    首先查看 SQL> show parameter job NAME                                 TYPE        VALUE-------------- ...

  3. oracle job 定时执行 存储过程

    oracle job 定时执行 存储过程   一:简单测试job的创建过程案例: 1,先创建一张JOB_TEST表,字段为a 日期格式 SQL> create table JOB_TEST(a ...

  4. Oracle通过JOB定时执行存储过程实现两表数据比对

    需求: 第三方云平台管理的虚拟机会进行关机.资源扩展等操作,因此开关机状态.CPU.内存.磁盘大小等数据需要进行同步.这里第三方云平台是BMC CLM云平台,底层虚拟化平台是Vcenter.进行同步的 ...

  5. 0327定时执行--存储过程--dbms_job--dbms_scheduler.create_job

    --oracle job 定时执行 存储过程 --建一张测试表 create table Person( name ), sex ) ); / --创建测试的存储过程 create or replac ...

  6. (转)Oracle定时执行计划任务

    Oracle定时执行计划任务 在日常工作中,往往有些事情是需要经常重复地做的,例如每天更新业务报表.每天从数据库中提取符合条件的数据.每天将客户关系管理系统中的数据分配给员工做数据库营销……因此我们就 ...

  7. Dapper完美兼容Oracle,执行存储过程,并返回结果集。

    Dapper完美兼容Oracle,执行存储过程,并返回结果集. 这个问题,困扰了我整整两天. 刚刚用到Dapper的时候,感觉非常牛掰.特别是配合.net 4.0新特性dynamic,让我生成泛型集合 ...

  8. Oracle中执行存储过程call和exec区别

    Oracle中执行存储过程call和exec区别 在sqlplus中这两种方法都可以使用: exec pro_name(参数1..); call pro_name(参数1..); 区别: 1. 但是e ...

  9. 创建JOB定时执行存储过程

    创建JOB定时执行存储过程有两种方式 方式1:通过plsql手动配置job,如下图: 方式2:通过sql语句,如下sql declare job_OpAutoDta pls_integer;--声明一 ...

随机推荐

  1. service入门—电话监听器

    1.继承Service类 2.在清单文件进行配置(因为Service属于四大组件之一) <service android:name=".PhoneStatusService" ...

  2. C#面向对象1 类 以及 类的继承(new、ovverride)

    类 的典型代码============================== 包括 属性及其判断赋值  方法  构造函数及其重载 )                 {                  ...

  3. C++ 左值 右值

    最近在研究C++ 左值 右值,搬运.收集了一些别人的资料,供自己记录和学习,若以后看到了更好的解释,会继续补充.(打“?”是我自己不明白的地方 )   参考:<Boost程序库探秘——深度解析C ...

  4. Cloud Foundry 中国群英会【上海站、成都站】资料宣传

    关注云计算和PaaS层的童鞋可以了解下: http://www.cloudfoundry-heroes-summit.com/shanghai http://www.cloudfoundry-hero ...

  5. Java中Timer和TimerTask的使用

    转自:http://www.cdtarena.com/javapx/201306/8893.html java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks. 一个 ...

  6. 小W与网格

    lucas定理 http://www.cnblogs.com/vongang/archive/2012/12/02/2798138.html 题目:http://hihocoder.com/conte ...

  7. word2vec 中的数学原理具体解释(一)文件夹和前言

      word2vec 是 Google 于 2013 年开源推出的一个用于获取 word vector 的工具包.它简单.高效.因此引起了非常多人的关注. 因为 word2vec 的作者 Tomas ...

  8. fzu 1913 Easy Comparison(字符串)

    题目链接:fzu 1913 Easy Comparison 题目大意:给出一个字符串,计算与它按照字典序排序排列后的字符串有多少个位置不同. 解题思路:水体,sort一下,然后遍历一遍就好. #inc ...

  9. Swift - 给游戏添加背景音乐和音效(SpriteKit游戏开发)

    游戏少不了背景音乐和音效.下面我们通过创建一个管理音效的类,来实现背景音乐的播放,同时点击屏幕可以播放相应的音效. 声音管理类 SoundManager.swift 1 2 3 4 5 6 7 8 9 ...

  10. ASP.NET - cookie

    下面是写cookie  HttpCookie cookie = new HttpCookie("Info");//定义cookie对象以及名为Info的项  DateTime dt ...