2011-02-25 16:17
9109人阅读
评论(4)
收藏
举报

本文章已收录于:

.embody{
padding:10px 10px 10px;
margin:0 -20px;
border-bottom:solid 1px #ededed;
}
.embody_b{
margin:0 ;
padding:10px 0;
}
.embody .embody_t,.embody .embody_c{
display: inline-block;
margin-right:10px;
}
.embody_t{
font-size: 12px;
color:#999;
}
.embody_c{
font-size: 12px;
}
.embody_c img,.embody_c em{
display: inline-block;
vertical-align: middle;
}
.embody_c img{
width:30px;
height:30px;
}
.embody_c em{
margin: 0 20px 0 10px;
color:#333;
font-style: normal;
}


分类:

数据库资料(5)

技术资料(56)

版权声明:本文为博主原创文章,未经博主允许不得转载。

/*
使用Oracle 的 PL/Sql 定时执行一个存储过程

测试目的:在表 tab 中间隔一分钟插入一条数据

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

脚本说名:
以下代码为 dbms_job 操作的基本写法,
其中不包含各个系统函数参数说明,
如需要了解“系统函数参数说明”请另行在网上查找

注:
1.其中的停止运行后继续执行的方法还有待测试  
2.开始运行一个计划时,计划内的存储过程将立刻执行一次
*/

--1.创建一个测试表
create table tab(dtime date);
Select * From tab;

--2.创建一个存储过程
create or replace procedure p_test as
begin
 insert into tab values(sysdate);
end;

--3.创建一个执行计划:每天1440分钟,即一分钟运行存储过程一次
Declare
  i Integer;
Begin
   dbms_job.submit(i,'p_test;',Sysdate,'sysdate+1/1440');
end;

--4.查看已经创建的所有执行计划
Select * From user_jobs;

--5.运行执行计划
Declare
  job_num Integer;
Begin
 -- 查找计划号
 Select t.JOB Into job_num From User_Jobs t ;
 -- 运行制定的执行计划
 dbms_job.run(job_num);
end;

--6.查看计划的运行结果
  select
    t.dtime
    --to_char(t.dtime,'yyyy-mm-dd hh24:mi:ss')
  from tab t
  Order By t.dtime;

-- 查出测试表内容
   Delete tab t;

--7.修改执行计划(修改执行的间隔时间)
/*
sysdate+1              表示每天执行一次
sysdate+1/24           表示每小时执行一次
sysdate+1/(24*60)      表示每分钟执行一次
sysdate+1/(24*60*60)   表示每秒执行一次
*/
Declare
  job_num Integer;
Begin
  -- 查找计划号
  Select t.JOB Into job_num From User_Jobs t ;
  -- 修改为:每天执行一次
  dbms_job.interval(job_num, 'sysdate+1/(24*60)');
end;

--8.停止一个执行计划
/*
 Sysdate+(5) 加五天,
 Sysdate+(5/24) 加五时,
 Sysdate+(5/24/60) 加五分,
 Sysdate+(5/24/60/60) 加五秒
*/
Declare
  job_num Integer;
Begin
  -- 查找计划号
  Select t.JOB Into job_num From User_Jobs t ;
  -- 停止计划,不在执行
  --dbms_job.broken(job_num,True);
  -- 停止计划,并在两分钟后继续执行
  dbms_job.broken(job_num,True,Sysdate+(2/24/60));
end;

--9.删除执行计划Declare
Declare
  job_num Integer;
Begin
  -- 查找计划号
  Select t.JOB Into job_num From User_Jobs t ;
  dbms_job.remove(job_num);
end;

1
0

我的同类文章

数据库资料(5)

技术资料(56)

.blog-ass-articl dd {
color: #369;
width: 99%; /*修改行*/
float: left;
overflow: hidden;
font: normal normal 12px/23px "SimSun";
height: 23px;
margin: 0;
padding: 0 0 0 10px;
margin-right: 30px;
background: url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;
}

参考知识库

Oracle知识库

4595关注|252收录

软件测试知识库

4118关注|310收录

更多资料请参考:

猜你在找



查看评论
4楼 八九雁来 2016-12-23 10:02发表 [回复] [引用] [举报]
--10.删除测试表
DROP TABLE tab;
3楼 低调也忧伤 2014-12-23 17:44发表 [回复] [引用] [举报]
非常不错
2楼 longsheng9TIAN 2012-04-02 10:50发表 [回复] [引用] [举报]
已知存儲過程,怎麼在介面上顯示?
1楼 Frankielove 2011-11-08 16:34发表 [回复] [引用] [举报]
嗯嗯。不错不错。
您还没有登录,请[登录][注册]
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场


.tag_list
{
background: none repeat scroll 0 0 #FFFFFF;
border: 1px solid #D7CBC1;
color: #000000;
font-size: 12px;
line-height: 20px;
list-style: none outside none;
margin: 10px 2% 0 1%;
padding: 1px;
}
.tag_list h5
{
background: none repeat scroll 0 0 #E0DBD3;
color: #47381C;
font-size: 12px;
height: 24px;
line-height: 24px;
padding: 0 5px;
margin: 0;
}
.tag_list h5 a
{
color: #47381C;
}
.classify
{
margin: 10px 0;
padding: 4px 12px 8px;
}
.classify a
{
margin-right: 20px;
white-space: nowrap;
}

#popup_mask
{
position: absolute;
width: 100%;
height: 100%;
background: #000;
z-index: 9999;
left: 0px;
top: 0px;
opacity: 0.3;
filter: alpha(opacity=30);
display: none;
}

使用oracle 的 PL/Sql 定时执行一个存储过程的更多相关文章

  1. Oracle中PL/SQL的执行部分和各种流程控制

    Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: ...

  2. oracle定时执行一个存储过程

    首先需要新建存储过程 一 存储过程: create or replace procedure Insertdata is begin INSERT INTO tab_dayta select * fr ...

  3. Oracle实践--PL/SQL综合之分页存储过程

    Oracle PL/SQL分页的存储过程 Oracle,分页,存储过程三个词结合起来,来个综合点的小练习,运用之前的PL/SQL创建一个分页的存储过程,仅仅须要简单几步就可以. 1.声明一个引用游标 ...

  4. C#(在WeBAPI)获取Oracle(在PL/SQL)游标类型的存储过程(用到了RefCursor)

    需求:WebAPI服务端,通过Oracle数据库的存储过程,获取数据. 在PL/SQL 建立存储过程:(先来最简单的,就是把整个表都查出来) create or replace procedure S ...

  5. Oracle中PL/SQL简介、基本语法以及数据类型

    Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控 ...

  6. Oracle之PL/SQL编程

    PL/SQL(Procedural Language/SQL,过程语言/SQL) 是结合了Oracel过程语言和结构化查询语言(SQL)的一种扩展语言. 优点: (1)PL/SQL具有编程语言的特点, ...

  7. Oracle 和pl/sql以及pl/sql developer

    oracle是厂家的名字,也是数据库产品的名字.比如sybase公司的sybase数据库.而微软公司的数据库产品就叫sqlserver了. pl/sql 是oracle数据库所用的sql语言的名称.微 ...

  8. Oracle之PL/SQL Developer的下载与安装

    PL/SQL是什么? PL/SQL Developer是一个集成开发环境(以下简称PL/SQL),专门开发面向Oracle数据库的应用.PL/SQL也是一种程序语言,叫做过程化SQL语言(Proced ...

  9. SQL得到任意一个存储过程的参数列表sp_procedure_params_rowset

    SQL得到任意一个存储过程的参数列表sp_procedure_params_rowsetexec sp_procedure_params_rowset 'up_rpt营业收入汇总表' PROCEDUR ...

随机推荐

  1. Dirjkstra

    Description 给定n个点,m条有向边 求每个点到1号点的最短距离 Input 第一行两个数为n,m,n表示顶点个数,m表示边的条数. (1 ≤ n, m ≤ 100 ) 接下来m行,每一行有 ...

  2. jq鼠标移入移除事件

    mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件.只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseout ...

  3. 聊聊Redis的持久化

    两种持久化策略 1.AOF:记录每一次的写操作到日志上,重启时重放日志以重建数据2.RDB:每隔一段时间保存一次当前时间点上的数据快照    快照就是一次又一次地从头开始创造一切3.可以关闭持久化4. ...

  4. win10中,vscode安装go插件排雷指南

    最近学习go,想着使用强大的vscode编写go,在安装go插件过程中,遇到了很多问题.下面记录解决方案. 1)win10环境,安装go,vscode,git 配置GOPATH环境变量,在我的电脑-& ...

  5. JS-正则表达式常规运用

    限制文本框只能输入0和正数 <input type="text" onkeyup="this.value=this.value.replace(/\D/g,'')& ...

  6. Linux - 软硬链接,hard link and symbolic link

  7. 【代码审计】VAuditDemo 后台登录功能验证码绕过

    在 admin/logCheck.php中 $_POST['user']和$_POST['pass'] 未经过任何过滤或者编码处理就传入到$query中,可能存在万能密码绕过机制 但是$pass经过了 ...

  8. Python中的lambda函数介绍

    Lambda函数,即Lambda 表达式(lambda expression),是一个匿名函数(不存在函数名的函数),Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lam ...

  9. 九、Appium-python-UI自动化之通过text定位

    1.通过xpath定位text xpath路径为://android.widget.EditText[@text='请输入包含街道的完整地址'] 2.通过AndroidUIAutomator # 这个 ...

  10. 洛谷P1991 无线通讯网(最小生成树性质+连通块)

    题目描述 国防部计划用无线网络连接若干个边防哨所.2 种不同的通讯技术用来搭建无线网络: 每个边防哨所都要配备无线电收发器:有一些哨所还可以增配卫星电话. 任意两个配备了一条卫星电话线路的哨所(两边都 ...