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

任务目标:每小时向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. WPF 自带Datagrid编辑后无法更新数据源的问题

    原文  WPF 自带Datagrid编辑后无法更新数据源的问题 解决办法: 在列的绑定属性里加上UpdateSourceTrigger,示例XAML如下 <DataGrid Grid.Row=& ...

  2. Oracle数据库top10物理段

    select owner, name, type, mega, tbs   from (select owner,                case                  when ...

  3. Android 系统api实现定位及使用百度提供的api来实现定位

    目前在国内使用定位的方法主要是 1. Android系统提供的 LocationManager locationManager = (LocationManager) getSystemService ...

  4. 基于visual Studio2013解决C语言竞赛题之1061最大值和次最大值

       题目 解决代码及点评 /* 功能: 编写子函数, 求一维整型数组M[10]的最大值及次最大值(次最大值可能不存在). 主函数中输入10个整数, 然后调用上述子函数, 若次最大值存在, ...

  5. 1.0.3-学习Opencv与MFC混合编程之---打开本地摄像头

    源代码:http://download.csdn.net/detail/nuptboyzhb/3961643 版本1.0.3新增内容 打开摄像头 Ø 新建菜单项,Learning OpenCV——&g ...

  6. nodejs之防jade

    你们学习nodejs的时候,千万别用jade,我掉到它的坑里,2天没有爬出来后来用vue

  7. Android Folding View(折叠视图、控件)

    版本号:1.0 日期:2014.4.21 版权:© 2014 kince 转载注明出处 非常早之前看过有人求助以下这个效果是怎样实现的,   也就是側滑菜单的一个折叠效果,事实上关于这个效果的实现,谷 ...

  8. 从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)

    前言   由于一个同学问到我如何按照一个流程走好之后回到首页,我以前看到过4个解决方案,后来发现有做个记录和总结的必要,就写了这篇博文.(之前看小强也写过一篇,这里通过自身的分析完整的总结一下以下6种 ...

  9. css3圆角代码

    div+css3普通圆角代码示例 <style type="text/css"> #round { width:200px; height:100px; margin: ...

  10. ASP.NET - 多级分类

    表结构: 表数据: 最终效果: 前端代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehin ...