mysql存储过程游标嵌套_MYSQL存储过程中使用游标嵌套的实例
下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
delimiter $$
drop procedure if exists findErrorLifeRoute $$
CREATE PROCEDURE findErrorLifeRoute()
BEGIN
declare routeId,routeStopId BIGINT ;
declare str,tmp_street VARCHAR(255) ;
DECLARE l_done,num,life,localId,tmp_localId INT DEFAULT 0;
-- 声明两个游标,第二个游标使用到第一个的查询结果
DECLARE grade_csr cursor FOR SELECT route_id FROM routes where LIFE_CYCLE_STATUS<39998 and LIFE_CYCLE_STATUS>35001;
DECLARE class_csr cursor FOR SELECT LOCATION_INNER_ID,STREET FROM route_stops WHERE ROUTE_ID=routeId order by STOP_NUMBER asc;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET l_done=1;
OPEN grade_csr;
-- 第一个循环
grade_loop: LOOP -- Loop through org_grade
FETCH grade_csr into routeId;
IF l_done=1 THEN
LEAVE grade_loop;
END IF;
SET num=0;
set tmp_street=null;
set tmp_localId=0;
OPEN class_csr;
-- 第二个循环
class_loop: LOOP -- Loop through class in grade.
FETCH class_csr INTO localId,str;
IF l_done=1 THEN
LEAVE class_loop;
END IF;
if localId =tmp_localId or (str is not null and str=tmp_street) THEN
set tmp_street=str;
set tmp_localId=localId;
else
set num=num+1;
set tmp_street=str;
set tmp_localId=localId;
end if;
-- 结束第一个循环
END LOOP class_loop;
CLOSE class_csr;
SET l_done=0;
set life=36000+(num-1)*100+6;
INSERT into route_tmp (select ROUTE_ID,LIFE_CYCLE_STATUS,ACCOUNT_ID,str from routes r where r.ROUTE_ID=routeId and LIFE_CYCLE_STATUS=life );
-- 结束第二个循环
END LOOP grade_loop;
CLOSE grade_csr;
END $$
delimiter ;
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
mysql存储过程游标嵌套_MYSQL存储过程中使用游标嵌套的实例相关推荐
- mysql 存储过程 定义数组_MySql存储过程
Mysql进阶 存储过程 1 什么是存储过程 1.存储过程,带有逻辑的sql语句 2.之前的sql没有条件判断,没有循环 3.存储过程带上流程控制语句(if while) 2 存储过程特点 1)执行效 ...
- mysql的游标处理_mysql 存储过程、游标及逐行处理的配合使用
1. 数据准备 +----+------+--------+ | id | name | price1 | +----+------+--------+ | 1 | 大米 | 5 | | 2 | 鸡蛋 ...
- mysql 存储过程 表名_MySql存储过程中执行动态SQL(表名是变量)
项目中要显示每个表的记录条数,但是因为数据库中的索引表中(infomation_schema.tables)记录的每个表的数据条数不是那么实时(超过3w多就不准了),所以要手动持久化一下再显示,持久化 ...
- mysql存储过程 简书_MySQL存储过程
在本节中,您将逐步学习如何在MySQL中编写和开发存储过程. 首先,我们向您介绍存储过程的概念,并讨论何时使用它. 然后,展示如何使用过程代码的基本元素,如创建存储过程的语句,if-else,case ...
- mysql存储过程list参数_mysql存储过程教程(1)
MySQL存储过程 1.1 CREATE PROCEDURE (创建) CREATE PROCEDURE存储过程名(参数列表) BEGIN SQL语句代码块 END 注意: 由括号 ...
- mysql存储过程注释方法_mysql存储过程 详细注释
原文:https://my.oschina.net/u/3582142/blog/1581929 delimiter $$ /* 重新定义mysql结束符,而不再是分号是结束符 */ create p ...
- c# mysql存储过程 输出参数值_MySQL 存储过程参数用法 in, out, inout
MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的 ...
- mysql 存储过程建表_MySQL 存储过程创建表
创建 CREATE PROCEDURE Pro_IsExistTable(ableName varchar(100),out outputParam int) BEGIN set @csql=con ...
- mysql 存储过程 out 用处_mysql存储过程 OUT or INOUT argument 3 for routine
mysql存储过程出现: OUT or INOUT argument 3 for routine gotask.UserLogin is not a variable or NEW pseudo-va ...
- mysql存储过程遍历新增_MySQL存储过程:内部调用存储过程、存储过程实现遍历数据库建表以及修改字段...
转载: https://blog.csdn.net/weixin_42159024/article/details/81488788 实现功能: 升级数据库.通过遍历所有数据库,对每个数据库进行升级, ...
最新文章
- 高通驱动9008安装_赛多利斯Sartorius-ambr? 250 高通量灌注培养系统
- 第十一周编程总结--助教
- 深入理解 JVM Class文件格式(六)
- java8 Map新增方法的使用
- ibm+i+to+mysql_IBM X3650 M3下配置nginx+tomcat+mysql
- 页面jquery调试的一个宝贵经验(类似于Eclipse中的写出一个对象点它的方法时候用alt加/可以跳出来它所有的方法)...
- 视频压缩工具及使用方法
- 电路定理——替代定理
- 32个c语言关键字发音,加注汉语发音的C语言32个语句和9种控制语
- 三位一撇:处理数字12345.67——12,345.67
- 高斯—赛德尔求解线性方程+C代码
- 【android逆向笔记】(二)滚动的天空逆向
- 新娘JAVA_java新郎新娘结婚的问题
- 超详细零信任市场解读
- python 解决第三方app微信登入昵称乱码的问题
- C++项目实战 —— 演讲比赛流程管理系统
- Android自定义View——实现水波纹效果类似剩余流量球
- 关于genvar及generate用法的总结【Verilog】
- 突然有一种好累的感觉!!!
- 如何下载并安装python_如何下载并安装wacom驱动