使用oracle 的 PL/Sql 定时执行一个存储过程
.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;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
/*
使用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)
- •LiteDB v.2.0.0-rc 使用介绍2016-06-21阅读443
- •解决 用户'sa'登录失败。错误:18456 问题2012-03-14阅读891
- •EntityFramework 4.0 中添加对存储过程的调用2011-05-12阅读2426
- •微软企业库5.0 支持 MySql2014-06-05阅读2721
- •Vs2010 打包项目使用(打包)2011-05-24阅读3912
.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;
}
- 猜你在找
- 2楼 longsheng9TIAN 2012-04-02 10:50发表 [回复] [引用] [举报]

- 已知存儲過程,怎麼在介面上顯示?
- 1楼 Frankielove 2011-11-08 16:34发表 [回复] [引用] [举报]

- 嗯嗯。不错不错。
![]()
.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;
}
核心技术类目
Hadoop
AWS
移动游戏
Java
Android
iOS
Swift
智能硬件
Docker
OpenStack
VPN
Spark
ERP
IE10
Eclipse
CRM
JavaScript
数据库
Ubuntu
NFC
WAP
jQuery
BI
HTML5
Spring
Apache
.NET
API
HTML
SDK
IIS
Fedora
XML
LBS
Unity
Splashtop
UML
components
Windows Mobile
Rails
QEMU
KDE
Cassandra
CloudStack
FTC
coremail
OPhone
CouchBase
云计算
iOS6
Rackspace
Web App
SpringSide
Maemo
Compuware
大数据
aptech
Perl
Tornado
Ruby
Hibernate
ThinkPHP
HBase
Pure
Solr
Angular
Cloud Foundry
Redis
Scala
Django
Bootstrap
#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 定时执行一个存储过程的更多相关文章
- Oracle中PL/SQL的执行部分和各种流程控制
Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: ...
- oracle定时执行一个存储过程
首先需要新建存储过程 一 存储过程: create or replace procedure Insertdata is begin INSERT INTO tab_dayta select * fr ...
- Oracle实践--PL/SQL综合之分页存储过程
Oracle PL/SQL分页的存储过程 Oracle,分页,存储过程三个词结合起来,来个综合点的小练习,运用之前的PL/SQL创建一个分页的存储过程,仅仅须要简单几步就可以. 1.声明一个引用游标 ...
- C#(在WeBAPI)获取Oracle(在PL/SQL)游标类型的存储过程(用到了RefCursor)
需求:WebAPI服务端,通过Oracle数据库的存储过程,获取数据. 在PL/SQL 建立存储过程:(先来最简单的,就是把整个表都查出来) create or replace procedure S ...
- Oracle中PL/SQL简介、基本语法以及数据类型
Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控 ...
- Oracle之PL/SQL编程
PL/SQL(Procedural Language/SQL,过程语言/SQL) 是结合了Oracel过程语言和结构化查询语言(SQL)的一种扩展语言. 优点: (1)PL/SQL具有编程语言的特点, ...
- Oracle 和pl/sql以及pl/sql developer
oracle是厂家的名字,也是数据库产品的名字.比如sybase公司的sybase数据库.而微软公司的数据库产品就叫sqlserver了. pl/sql 是oracle数据库所用的sql语言的名称.微 ...
- Oracle之PL/SQL Developer的下载与安装
PL/SQL是什么? PL/SQL Developer是一个集成开发环境(以下简称PL/SQL),专门开发面向Oracle数据库的应用.PL/SQL也是一种程序语言,叫做过程化SQL语言(Proced ...
- SQL得到任意一个存储过程的参数列表sp_procedure_params_rowset
SQL得到任意一个存储过程的参数列表sp_procedure_params_rowsetexec sp_procedure_params_rowset 'up_rpt营业收入汇总表' PROCEDUR ...
随机推荐
- jq鼠标移入移除事件
mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件.只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseout ...
- 时间同步服务器ntpd的搭建
如果系统没有默认安装,可以手动安装,一条命令就可以搞定: yum install ntp -y 安装之后修改配置文件: vim /etc/ntp.conf #restrict 127.0.0.1 #r ...
- 自己实现java中Iterator(迭代器功能)
今天躺在床上忽然想到一个问题,迭代器的代码是如何实现的?于是乎不由自主的爬起来敲两行代码. List<String> list=new ArrayList<>(2); list ...
- mongodb 用户指引
维护人:陈权 一.mongodb install on linuxcurl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6 ...
- Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。
通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...
- python导入openpyxl报错问题,终于解决啦
问题:折腾了一上午,安装.卸载openpyxl多次,cmd中明明显示安装成功,可python文件import时就是报错 1.安装openpyxl后,python文件导入一直报错,经过一上午的努力,终于 ...
- 基于MACVLAN配置VMWARE虚拟机中容器网络
基于MACVLAN配置VMWARE虚拟机中容器网络 测试部环境组 201711 0 文档说明 MACVLAN是docker的一种支持跨主机网络的driver.macvlan本身是linux kerne ...
- Ubuntu 17.04 apt-get 获取失败
最近电脑上的ubuntu apt-get 命令出现了异常,百度好久终于解决. 问题:sudo apt-get update命令执行 全部忽略或者是错误 一些文件也无法安装 解决办法:刚开 ...
- vmware克隆机无法启动eth0联网问题
cd /etc/sysconfig/network-scrip vi ifcfg-eth0 把eth0修改成eth1,重启网卡就可以了
- linux的数据盘挂载
图文教程: Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化操作. 一:登陆 用Linux 的SSH 登陆软件(xshell 或者putty) 登陆阿里云主机服务器. 二 ...



