存储过程定义多个游标多个begin
1、直接定义多个显示游标
CREATE OR REPLACE PROCEDURE ACC.DBP_REALCITYTRAFFICCNT IS
CURSOR cur1 IS SELECT 。。。 --第一个游标
CURSOR cur2 IS SELECT 。。。 --第二个游标
BEGIN
--调用cur1
BEGIN
OPEN cur1 ;
LOOP
FETCH cur1 INTO 。。。
EXIT WHEN cur1%NOTFOUND;
...业务逻辑
COMMIT;
END LOOP;
CLOSE cur1;
END;
--调用cur2
BEGIN
OPEN cur2 ;
LOOP
FETCH cur2 INTO 。。。
EXIT WHEN cur2%NOTFOUND;
...业务逻辑
COMMIT;
END LOOP;
CLOSE cur2;
end;
END DBP_REALCITYTRAFFICCNT;
--------------------------
2、通过定义ref游标来实现
TYPE refcur_t IS REF CURSOR; --声明REF游标类型
cur1 refcur_t; --声明第一个游标REF游标类型的变量
cur2 refcur_t; --声明第二个游标REF游标类型的变量
BEGIN
--调用cur1
BEGIN
OPEN cur1 ;
LOOP
FETCH cur1 INTO 。。。
EXIT WHEN cur1%NOTFOUND;
...业务逻辑
COMMIT;
END LOOP;
CLOSE cur1;
END;
--调用cur2
BEGIN
OPEN cur2 ;
LOOP
FETCH cur2 INTO 。。。
EXIT WHEN cur2%NOTFOUND;
...业务逻辑
COMMIT;
END LOOP;
CLOSE cur2;
end;
END DBP_REALCITYTRAFFICCNT;
存储过程定义多个游标多个begin的更多相关文章
- T-SQL应用,视图、存储过程、触发器、游标、临时表等
sqlserver常用操作: 视图.存储过程.触发器.函数 --*********************批处理********************* --[在一个批处理中存有一个语法错误,则所有 ...
- SQL Server 存储过程、触发器、游标
存储过程 1.存储过程是事先编好的.存储在数据库中的程序,这些程序用来完成对数据库的指定操作. 2.系统存储过程: SQL Server本身提供了一些存储过程,用于管理有关数据库和用户的信息. 用户存 ...
- mysql视图和存储过程定义者修改脚本(懒人专用)
前言: 在实际工作中mysql数据库的迁移.备份恢复.数据库重命名等一系列涉及到视图和存储过程定义者问题都会需要修改,每次都要从基础表获取数据,然后手工整理做脚本,十分麻烦,所以简单写了个过程,以后可 ...
- Mysql 存储过程中使用多游标
Mysql 存储过程中使用多游标 drop procedure IF EXISTS test_proc_1; create procedure test_proc_1() begin ; ) ; ) ...
- oracle 存储过程定义及调试,并终于被C# 调用 代码
C# 调用存储过程 參考了非常多文章,写了例如以下文字,算是分享吧 目的:更改积分,并作一定校验 一.一般的调试方法: 方法一:带返回out參数,必须定义变量 myresult DECLARE myr ...
- MySQL能否授予查看存储过程定义权限给用户
在其他RDBMS中,可以将查看某个存储过程(PROCEDURE)定义的权限给某个用户,例如在SQL Server中,可以单独将查看ProcedureName定义的权限授予UserA GRANT VIE ...
- Oracle存储过程中如何使用游标
--本存储过程的功能:把test_tbl2中与test_tbl1中ID相同但salary不同的记录中的salary的值更新为test_tbl1中的salary的值--创建存储过程create or r ...
- Oracle 存储过程procedure之数据更新-游标
在日常工作中,经常会碰到后台外导一批数据,并将外导数据处理至系统表中的情况. 面临这种情况,我一般采用写存储过程批处理的方式完成,写好一次以后,再次有导入需求时,只需要将数据导入到中间表,然后执行存储 ...
- MySQL存储过程、函数和游标
这里我新建了两个表,一个users和test CREATE TABLE users( username ), pwd ) ); CREATE TABLE test( id INT, username ...
随机推荐
- 各浏览器禁用某网站JS脚本的方法 【转】
某些网站,经常会加载一些非常讨厌的JS脚本,如果我们想禁止这个网站的JS脚本,可以使用下面的方法: 一.IE浏览器 1.在Internet选项中,选择安全选项卡,然后点击受限制的站点,点击下面的站点 ...
- Oracle Sequence Cache 参数说明
转自 http://blog.csdn.net/tianlesoftware/article/details/5995051 之前整理的一篇文章: ORACLE SEQUENCE 介绍 http:// ...
- 安装android-sdk,gradle mac 篇
安装包管理器 Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/insta ...
- Java设计模式----观察者模式详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...
- Android组件系列----当前Activity跳转到另一个Activity的详细过程
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...
- leetCode题解 Reverse Words in a String III
1.题目描述 Given a string, you need to reverse the order of characters in each word within a sentence wh ...
- 使用 Azure CLI 管理 Azure 磁盘
Azure 虚拟机使用磁盘来存储 VM 操作系统.应用程序和数据. 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置. 本教程介绍如何部署和管理 VM 磁盘. 学习内容: OS 磁盘和临时 ...
- Django之modelform简介
在django中内置了form类和model类,当页面中的form值和model字段值完全一样时,此时可以通过model生成一个完全一样的form,Django中的modelForm就因此而生. 目标 ...
- JavaScript大位数相加减
function arrayAdd(number, addNumber) { var numberArr = number.toString().split(''); var addNumberArr ...
- VUE入门准备------>ES6
声明变量的方式: var let const let 和 var的区别 var定义的变量是全局的会覆盖全局的定义 ; ;i<;i++){ console.log(i) } undefi ...