存储过程双层循环_mysql嵌套存储过程实现循环嵌套
下面是工作中使用到的一个mysql嵌套循环存储过程,因为写的比较少,开始写花费了一点时间,特此记录一下
DELIMITER //
CREATE PROCEDURE handleHisNewCommentData()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE topId INT;
DECLARE topComments_cur CURSOR FOR SELECT ID
FROM
T_COMMENT
WHERE REPLY_ID = 0;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN topComments_cur;
data_loop: LOOP
-- 取值 取多个字段
FETCH topComments_cur
INTO topId;
IF done
THEN
LEAVE data_loop;
END IF;
CALL updateCommentRootId(topId, topId);
SELECT topId;
END LOOP;
CLOSE topComments_cur;
END//
CREATE PROCEDURE updateCommentRootId(replyId INT, rootId INT)
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE commentId INT;
DECLARE comments_cur CURSOR FOR SELECT ID
FROM
T_COMMENT
WHERE REPLY_ID = replyId;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN comments_cur;
data_loop: LOOP
-- 取值 取多个字段
FETCH comments_cur
INTO commentId;
IF done
THEN
LEAVE data_loop;
END IF;
UPDATE T_NEW_COMMENT
SET ROOT_ID = rootId
WHERE id = commentId;
CALL updateCommentRootId(commentId, rootId);
END LOOP;
CLOSE comments_cur;
END//
DELIMITER ;
CALL handleHisNewCommentData;
DROP PROCEDURE handleHisNewCommentData;
DROP PROCEDURE updateCommentRootId;
存储过程双层循环_mysql嵌套存储过程实现循环嵌套相关推荐
- mysql数据存储过程详解_mysql数据存储过程参数实例详解
MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的 ...
- mysql存储过程数组字符串_Mysql通过存储过程分割字符串为数组
分割字符串为数组需要用到 三个mysql 的函数 : REVERSE(str) 返回颠倒字符顺序的字符串str. SUBSTRING_INDEX(str,delim,count) 返回从字符串str的 ...
- mysql 存储过程 生成数据_mysql使用存储过程,批量生成测试数据
1.存储过程代码 delimiter $$ DROP PROCEDURE IF EXISTS create_service_data$$ create procedure create_service ...
- mysql建立存储过程报错_MySQL创建存储过程(CREATE PROCEDURE)
MySQL 存储过程是一些 SQL 语句的集合,比如有时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程. 编写存 ...
- mysql 存储过程游标删除_mysql数据库存储过程游标循环,提前退出
需求:向trade这个数据库中的每一个表增加多个字段 遇到问题:存储过程,游标,循环,动态sql执行 注意: mysql 存储过程在我所使用的5.5版本中不能使用 show 的命令,利用 inform ...
- mysql 存储过程 模糊查询_Mysql之存储过程“模糊查询drop表”
需求: 清空 show tables like "%2016%" 实现: DELIMITER // drop procedure if exists p_clean_table; ...
- mysql存储过程模糊查询_Mysql之存储过程“模糊查询drop表”
需求: 清空 show tables like "%2016%" 实现: DELIMITER // drop procedure if exists p_clean_table; ...
- mysql的存储过程与事务_mysql的存储过程与事务入门
存储过程是: 通过一系列的SQL语句, 根据传入的参数(也可以没有), 通过简单的调用, 完成比单个SQL语句更复杂的功能, 存储在数据库服务器端,只需要编译过一次之后再次使用都不需要再进行编译.主要 ...
- mysql命令导入存储过程报错_mysql导入存储过程时declare报错的有关问题解决
在导入存储过程时经常遇见下列DECLARE报错的问题: ? Error Code : 1064 You have an error in your SQL syntax; check the manu ...
- mysql触发器 while循环_mysql触发器跳出当前循环方法
mysql触发器跳出当前循环方法 set @num=@UnitLength/3; label: while i set @length=(select SUBSTRING(@unit_sid_fk,1 ...
最新文章
- 数据结构之【栈】的基本操作C语言实现
- 针对脑出血识别的AI匹配准确性
- C# 开发和使用中的33个技巧
- cylance做的机器学习相关材料汇总
- 一道暴力枚举题Win32版本示例
- 回车(CR)与换行(LF), '\r'和'\n'的区别
- 树莓派编译mysql卡死_关于树莓派编译工作空间卡死情况的解决办法
- 单片机c语言实习报告,单片机C语言程序设计实训100例.pdf
- weblogic14.c下载地址
- 人脸识别的代码及问题
- c语言输出语句形式,c语言输出语句是什么
- 零基础云计算学习路线,到底什么是云计算?
- 转载130个原文网站,原文链接:https://blog.csdn.net/qq_43901693/article/details/100606828
- 【教育教学资源】教育资讯、教学功能、当老师、或者补习班给学生的资料
- 失业培训计算机试题,2017年职称计算机考试考前练习试题(11)
- fluent中网格检查
- android 内功修炼参考
- 计算机老师开学第一堂课,开学第一堂课作文(精选8篇)
- 三步装机教程,电脑如何一键安装系统
- 【Web技术】1154- 现代 Web 研发体系中的新一代低/零码搭建