下面是工作中使用到的一个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嵌套存储过程实现循环嵌套相关推荐

  1. mysql数据存储过程详解_mysql数据存储过程参数实例详解

    MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的 ...

  2. mysql存储过程数组字符串_Mysql通过存储过程分割字符串为数组

    分割字符串为数组需要用到 三个mysql 的函数 : REVERSE(str) 返回颠倒字符顺序的字符串str. SUBSTRING_INDEX(str,delim,count) 返回从字符串str的 ...

  3. mysql 存储过程 生成数据_mysql使用存储过程,批量生成测试数据

    1.存储过程代码 delimiter $$ DROP PROCEDURE IF EXISTS create_service_data$$ create procedure create_service ...

  4. mysql建立存储过程报错_MySQL创建存储过程(CREATE PROCEDURE)

    MySQL 存储过程是一些 SQL 语句的集合,比如有时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程. 编写存 ...

  5. mysql 存储过程游标删除_mysql数据库存储过程游标循环,提前退出

    需求:向trade这个数据库中的每一个表增加多个字段 遇到问题:存储过程,游标,循环,动态sql执行 注意: mysql 存储过程在我所使用的5.5版本中不能使用 show 的命令,利用 inform ...

  6. mysql 存储过程 模糊查询_Mysql之存储过程“模糊查询drop表”

    需求: 清空 show tables like "%2016%" 实现: DELIMITER // drop procedure if exists p_clean_table; ...

  7. mysql存储过程模糊查询_Mysql之存储过程“模糊查询drop表”

    需求: 清空 show tables like "%2016%" 实现: DELIMITER // drop procedure if exists p_clean_table; ...

  8. mysql的存储过程与事务_mysql的存储过程与事务入门

    存储过程是: 通过一系列的SQL语句, 根据传入的参数(也可以没有), 通过简单的调用, 完成比单个SQL语句更复杂的功能, 存储在数据库服务器端,只需要编译过一次之后再次使用都不需要再进行编译.主要 ...

  9. mysql命令导入存储过程报错_mysql导入存储过程时declare报错的有关问题解决

    在导入存储过程时经常遇见下列DECLARE报错的问题: ? Error Code : 1064 You have an error in your SQL syntax; check the manu ...

  10. mysql触发器 while循环_mysql触发器跳出当前循环方法

    mysql触发器跳出当前循环方法 set @num=@UnitLength/3; label: while i set @length=(select SUBSTRING(@unit_sid_fk,1 ...

最新文章

  1. 数据结构之【栈】的基本操作C语言实现
  2. 针对脑出血识别的AI匹配准确性
  3. C# 开发和使用中的33个技巧
  4. cylance做的机器学习相关材料汇总
  5. 一道暴力枚举题Win32版本示例
  6. 回车(CR)与换行(LF), '\r'和'\n'的区别
  7. 树莓派编译mysql卡死_关于树莓派编译工作空间卡死情况的解决办法
  8. 单片机c语言实习报告,单片机C语言程序设计实训100例.pdf
  9. weblogic14.c下载地址
  10. 人脸识别的代码及问题
  11. c语言输出语句形式,c语言输出语句是什么
  12. 零基础云计算学习路线,到底什么是云计算?
  13. 转载130个原文网站,原文链接:https://blog.csdn.net/qq_43901693/article/details/100606828
  14. 【教育教学资源】教育资讯、教学功能、当老师、或者补习班给学生的资料
  15. 失业培训计算机试题,2017年职称计算机考试考前练习试题(11)
  16. fluent中网格检查
  17. android 内功修炼参考
  18. 计算机老师开学第一堂课,开学第一堂课作文(精选8篇)
  19. 三步装机教程,电脑如何一键安装系统
  20. 【Web技术】1154- 现代 Web 研发体系中的新一代低/零码搭建

热门文章

  1. 解锁并设置远程登录尝试次数
  2. CSS问题的撰写准则
  3. 一生一世高圆圆经典台词
  4. 无法保存打印机设置 0x000006d9
  5. 如何调试程序的后台作业
  6. SAP标准OK Code Values 列表
  7. 纪念9.11十周年 奥巴马诵读圣经原文
  8. Abap DELETE - duplicates
  9. 短视频进入下半场,价值创造成赛点
  10. 企业IM,阿里钉钉“恶”企业微信“善”?