Oracle定时执行存储过程(转)
定时执行存储过程在平时开发中经常会用到,年前的时候自己也做了一个,由于时间关系一直没能记录,现记录下来。
首先用一个完整的例子来实现定时执行存储过程。
任务目标:每小时向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定时执行存储过程(转)的更多相关文章
- ORACLE 定时执行存储过程
推荐用dbms_scheduler方式更好 (2012-11-19注) /* 查询: select job,broken,what,interval,t.* from user_jobs t; job ...
- Oracle定时执行存储过程
首先查看 SQL> show parameter job NAME TYPE VALUE-------------- ...
- oracle job 定时执行 存储过程
oracle job 定时执行 存储过程 一:简单测试job的创建过程案例: 1,先创建一张JOB_TEST表,字段为a 日期格式 SQL> create table JOB_TEST(a ...
- Oracle通过JOB定时执行存储过程实现两表数据比对
需求: 第三方云平台管理的虚拟机会进行关机.资源扩展等操作,因此开关机状态.CPU.内存.磁盘大小等数据需要进行同步.这里第三方云平台是BMC CLM云平台,底层虚拟化平台是Vcenter.进行同步的 ...
- 0327定时执行--存储过程--dbms_job--dbms_scheduler.create_job
--oracle job 定时执行 存储过程 --建一张测试表 create table Person( name ), sex ) ); / --创建测试的存储过程 create or replac ...
- (转)Oracle定时执行计划任务
Oracle定时执行计划任务 在日常工作中,往往有些事情是需要经常重复地做的,例如每天更新业务报表.每天从数据库中提取符合条件的数据.每天将客户关系管理系统中的数据分配给员工做数据库营销……因此我们就 ...
- Dapper完美兼容Oracle,执行存储过程,并返回结果集。
Dapper完美兼容Oracle,执行存储过程,并返回结果集. 这个问题,困扰了我整整两天. 刚刚用到Dapper的时候,感觉非常牛掰.特别是配合.net 4.0新特性dynamic,让我生成泛型集合 ...
- Oracle中执行存储过程call和exec区别
Oracle中执行存储过程call和exec区别 在sqlplus中这两种方法都可以使用: exec pro_name(参数1..); call pro_name(参数1..); 区别: 1. 但是e ...
- 创建JOB定时执行存储过程
创建JOB定时执行存储过程有两种方式 方式1:通过plsql手动配置job,如下图: 方式2:通过sql语句,如下sql declare job_OpAutoDta pls_integer;--声明一 ...
随机推荐
- PHP - 防止非法调用页面
这是在服务器内部: 首先定义一个常量 在调用页面的时候,检测是否存在此常量 如果存在,则调用 否则,做出提示. 创建常量: 创建常量的函数名称: define //创建一个常量,以便于页面调用,从主页 ...
- ios9 之后 配置百度地图出现的错误
链接地址:http://blog.csdn.net/u011303663/article/details/48596315 错误 ld: '/Users/xxx/Documents/xxx/Baidu ...
- 数据备份--dump(此作者有许多有用的博客文章)
数据中 心操作大量的数据.当遭到破坏时,这就是一场灾难.这时候需要备份来恢复,及时你又大量的备份数据都没用,备份也肯定不是在浪费时间.你也许很幸运从 来没有经历过数据丢失.但是, 由于这种事情极少发生 ...
- 动态绑定Gridview带模板列
公司要做一个可以支持4种数据库(<!--数据库类型 (DLL专用) (SQL SERVER) (ORACLE) (ACCESS)(POSTGRE SQL)-->)的并且字段随表字段变化的可 ...
- Spring Tool Suite(简称STS)针对SimpleDateFormat.pase函数的实参值不做检验,异常直接默认值之
Spring Tool Suite(简称STS)是 Spring 团队开发的一款基于Eclipse的IDE,旨在简化开发Spring MVC 应用的流程.可以自动生成spring相关的配置文件.比如a ...
- W英语: 紧急, 非紧急
take your time 慢慢来 It is not urgent. Take it easy please. 不急,慢慢来.
- EDStarRating(IOS星级评定)
链接地址:https://github.com/erndev/EDStarRating EDStarRating
- QtWebkit中如何将网页内容转为图片
原地址:http://www.cnblogs.com/baizx/archive/2010/07/31/1789573.html 如何将webkit中的渲染结果也就是网页画面转换为图片 用抓图软件 ...
- FindChildControl与FindComponent
前两天编码遇到了要使用FindChildControl方法获取指定名称的TSpeedButton按钮,结果折腾了半天就是没得结果(基础不扎实,呵呵),于是赶紧搜索了下,补习关于这两个方法的用法. TW ...
- MFC为应用程序添加托盘(右键托盘,弹出菜单)
源代码:http://download.csdn.net/detail/nuptboyzhb/4137784 1. 导入一个托盘图标的资源(.ico)格式:资源ID为IDI_ICON1 2 ...