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 实现功能: 升级数据库.通过遍历所有数据库,对每个数据库进行升级, ...
最新文章
- 中蒙最大陆路口岸2018年运行中欧班列1052列
- kaptcha验证码实现,配合spring boot使用
- Hibernate 实体映射类的状态值自动转换
- tomcat使用manager GUI应用和script分别reload应用的注意事项
- uboot 的i2c_read
- xml html 转化为字符串,XSLT:将字符串解析为XML节点集(concret:将HTML-String转换为节点集)?...
- 【C语言】矩阵的最大值(指针专题)
- java locationuitool_求助systemui编译时哪里出错
- Android View 绘制流程
- python能做什么-python能干嘛
- js系列教程12-浏览器存储全解
- 语料库的获取与词频分析
- (45.2)【端口漏洞发现】扫描工具Nmap、Nessus、Masscan、端口弱口令检查
- 计算机应用基础考试制作表格,计算机应用基础考试---Excel电子表格公式与函数...
- 【Qt】解决“ QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root‘ ”
- MySQL--binlog--介绍/用法
- Ext Gantt甘特图1.2破解及方法
- Oracle Spatial详解
- alert promt confirm js 用法
- 《江苏省ITS体系框架与规划——需求分析子课题》工作大纲评审会在南京举行[转贴,出处:ITSC 作者:刘浩,张可]
热门文章
- hdu4433 locker
- DSP TMS320C28x CPU 和指令设置参考【CPU】
- Android Studio:使用Camera拍照(三)为相机增加取景蒙板/浮层
- 破解新东方的flash教程
- 西交计算机组成原理第四章,西安交通大学“ 计算机组成原理”实验课程教学大纲...
- 【装机吧】教你使用XP系统修复功能
- 【OS】操作系统高频面试题英文版(1)
- 100盏灯开关问题python_100盏灯泡的开关问题
- 京东渴望做大“宠物梦”
- 强大的Android控件之RecyclerView体验艺术般的控件