第一次用mysql的游标来循环处理数据,编写的存储过程如下:

DROP PROCEDURE IF EXISTS delete_Menu;
DELIMITER $$
CREATE PROCEDURE delete_Menu( IN menuCode VARCHAR(200))
BEGIN  DECLARE userCode VARCHAR(20);DECLARE cur_user CURSOR FOR SELECT code FROM user;  OPEN cur_user;out_loop:LOOPFETCH cur_user INTO userCode;;CALL  deleteMenu(menuCode,userCode);   END LOOP out_loop;CLOSE cur_user;END $$
DELIMITER ; 

利用游标循环的实现很简洁,却出现了一个奇葩的问题(第一次遇见mysql报错却能执行出想要的结果)。使用上述存储过程删除数据时,数据可以按照预期的删除,但mysql却报了如下错误:

百度了下才知道,是因为FETCH没有跳出循环导致的。重新编写存储过程如下,顺利解决问题。

DROP PROCEDURE IF EXISTS delete_Menu;
DELIMITER $$
CREATE PROCEDURE delete_Menu( IN menuCode VARCHAR(200))
BEGIN  DECLARE done INT DEFAULT 0; DECLARE userCode VARCHAR(20);DECLARE cur_user CURSOR FOR SELECT code FROM user; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;  OPEN cur_user;out_loop:LOOPFETCH cur_user INTO userCode;IF done =1 THENLEAVE out_loop;END IF;CALL  deleteMenu(menuCode,userCode);    SET done = 0;END LOOP out_loop;CLOSE cur_user;END $$
DELIMITER ;

mysql 利用游标循环删除数据报错:No data - zero rows fetched, selected, or processed相关推荐

  1. MySQL游标无法获取数据-1329 - No data - zero rows fetched, selected, or processed

    1329 - No data - zero rows fetched, selected, or processed 在存储过程中使用游标的时候,要确保声明的变量唯一性,不要和SQL的查询字段一样!! ...

  2. mysql存储过程报错_MySQL存储过程错误No data - zero rows fetched, selected, or processed

    刚好一个案例需要在写存储过程,但是总是报错 No data - zero rows fetched, selected, or processed 存错过程代码如下 DELIMITER $$ DROP ...

  3. mysql存储函数中游标报错 No data - zero rows fetched, selected

    通常,当您超出游标范围时会发生这种情况,因此请检查FETCH语句所在部分的循环条件

  4. mysql cursor nodata_mysql游标的使用 No data - zero rows fetched, selected

    转自:http://blog.sina.com.cn/s/blog_544c72960101bvl3.html 这是一个游标的使用例子. 但是其中有几点需要注意,就是为什么要加入 declare CO ...

  5. MySQL删除数据报错

    操作MySQL删除数据的时候报错如下: 是操作模式问题导致,安全操作模式下不能删除: SET SQL_SAFE_UPDATES = 0; 设置以上参数即可成功删除数据:

  6. mysql利用外连接删除数据_MySQL-快速入门(6)连接查询、子查询、正则表达式查询、数据的插入删除更新...

    1.内连接查询:inner join ... on 只有满足条件的记录才能够出现在结果关系中,即完全相等.自连接查询是一种特殊的内连接查询. 2.外连接查询: 1>左外连接 / 左连接:返回包括 ...

  7. mysql 存储过程游标 循环输出select 查询结果

    CREATE DEFINER=`ceshi`@`%` PROCEDURE `A1_test`( ) BEGIN -- 创建计数器DECLARE s int DEFAULT 0; -- 用来接字段 有几 ...

  8. informix 导大表数据报错write failed.3832993 rows unloaded (check ulimit or disk space).

    查看空间使用情况 df -g 使用30% ulimit -a 查看filesize文件限制为1G 原因:导出的数据超过1G,超出了Aix文件限制. 解决: 修改文件限制,root用户修改/etc/se ...

  9. mysql 为游标赋值_mysql 存储过程之游标

    游标按我的理解就是用在sql编程中对查询结果集的解析,类比jdbc中的resultset对象.FETCH 一行游标指针就往下面移动一行,直到所有行被遍历完成. 游标的使用分为4步: 1.定义游标,指定 ...

最新文章

  1. Centos显示-bash-4.1$问题的修复及原因探究
  2. 为什么一个程序申请的内存有限制_为什么要做自己的小程序商城,做一个要多久?...
  3. 广文艺计算机综合美术,广东文艺职业学院2018年第二批合同制人员招聘专业技能考核和试讲题目...
  4. 『数学』你确定你学会了勾股弦定理!真的吗?看完这个篇文章再回答我!
  5. 前端学习(2185):tabberitem的颜色动态
  6. 渗透测试入门9之域渗透
  7. B样条曲线介绍和实现(等值线平滑)
  8. 面了6家大厂,我把问烂了的Redis常见面试题总结了一下(带答案)
  9. 网络营销策略分析讲解
  10. 计算机系统结构同济大学张晨曦,《计算机系统结构教程(21世纪大学本科计算机专业系列教材)》- 张晨曦 等编著 - 读书评论 - 价值网...
  11. 超详细—狂神Mybatis笔记
  12. 低代码和零代码火了,十大利器推荐
  13. STM32串口屏学习
  14. java三色球问题_C语言三色球问题代码解析
  15. 可持续时尚分论坛精彩回顾 | 第二届始祖数字化可持续发展峰会
  16. 推荐一首歌 《老男孩》
  17. 能让HR多看两分钟的优秀简历
  18. 关于 web cam 使用自家的摄像头实现 视频捕捉技术 高级篇
  19. Packet Tracer 入门教程
  20. 介绍部电影“Sicko”,迈克尔摩尔拍摄的抨击美国医疗体制的纪录片

热门文章

  1. Summaries and TensorBoard
  2. 计算机网络的期刊,科学网—晒个自己整理的计算机网络和通信方向可能相关的期刊列表 - 张国强的博文...
  3. 嘴上老喊辞职的人总也不走,如何看待这种现象?
  4. 推特php博客,实例代码:使用PHP调用Twitter的RSS
  5. MIS迭代一:增删改查功能测试
  6. win10系统获取管理员权限的设置方法一览
  7. WIFI共享精灵 2013 电脑共享wifi
  8. 漫画:什么是 “智能供应链” ?
  9. BAP:PPP 带宽分配协议 BACP:PPP 带宽分配控制协议--网络大典
  10. 第一次将项目push到gitlab