刚好一个案例需要在写存储过程,但是总是报错

No data - zero rows fetched, selected, or processed

存错过程代码如下

DELIMITER $$

DROP PROCEDURE IF EXISTS `jbpm`.`refreshRoster` $$

CREATE DEFINER=`root`@`%` PROCEDURE `refreshRoster`(in hostname varchar(30))

BEGIN

DECLARE uname varchar(30);

DECLARE cur1 CURSOR FOR SELECT username FROM ofuser;

delete from ofroster;

OPEN cur1;

read_loop: LOOP

FETCH cur1 INTO uname;

update temp set TEXT_='1';

......

END LOOP;

CLOSE cur1;

END $$

DELIMITER ;

修改后

DELIMITER $$

DROP PROCEDURE IF EXISTS `jbpm`.`refreshRoster` $$

CREATE DEFINER=`root`@`%` PROCEDURE `refreshRoster`(in hostname varchar(30))

BEGIN

DECLARE i int;

DECLARE tc int;

DECLARE flag int;

DECLARE uname varchar(30);

DECLARE cur1 CURSOR FOR SELECT username FROM ofuser;

DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET flag = 3;

SELECT count(*) into tc FROM ofuser;

delete from ofroster;

SET i=0;

OPEN cur1;

read_loop: LOOP

FETCH cur1 INTO uname;

update temp set TEXT_='1';

IF i > tc THEN

LEAVE read_loop;

ELSE

.......

END IF;

SET i=i+1;

END LOOP;

CLOSE cur1;

END $$

DELIMITER ;

增加了红色语句部分,我创建一个表temp,仅一个字段,然后每次循环时更新一下,这样就不会报错。其中使用了i和tc,因为我发现单纯使用FETCH,并不会退出循环,可能是死循环。

mysql存储过程报错_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 利用游标循环删除数据报错:No data - zero rows fetched, selected, or processed

    第一次用mysql的游标来循环处理数据,编写的存储过程如下: DROP PROCEDURE IF EXISTS delete_Menu; DELIMITER $$ CREATE PROCEDURE d ...

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

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

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

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

  5. mysql 42000 报错_MySQL SQL Error: 1064, SQLState: 42000 错误

    你不小心使用了下面的关键字,那么就会报这个错误: SQL Error: 1064, SQLState: 42000 MySQL 关键字和保留字 下面这些是目前 MySQL 所拥有的关键字和保留字,在使 ...

  6. mysql load报错_mysql:执行LOAD DATA LOCAL 报错

    mysql:执行LOAD DATA LOCAL 报错. 我使用navicat for mysql 连接 mysql服务器执行local 可以正常执行 . show VARIABLES like  '% ...

  7. mysql replace报错_Mysql中replace与replace into的用法讲解

    Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...

  8. mysql insert报错_mysql数据库使用insert语句插入中文数据报错

    在mysql的命令行模式中,通过insert语句插入中文数据的时候报错,类似于下面这样: Incorrect string value: '\xE7\x8F' for column 'name' at ...

  9. mysql恢复 报错_Mysql 数据恢复报错

    1.测试mysql binlog 数据恢复功能,我的mysql版本是5.7.17 2.删了数据之后,执行show binlog events 命令得到如下记录 3.找到开始删除和结束删除的位置,然后执 ...

最新文章

  1. jQuery实现浮动层跟随页面滚动效果
  2. Android开发基本概念
  3. 如何处理数据中心电缆管理问题?
  4. C++自定义sobel求梯度
  5. 学生用计算机中sto,STO 文件扩展名: 它是什么以及如何打开它?
  6. 百度SEO优化技术点总结
  7. 结构型模式:Decorator 装饰模式
  8. 华为盒子 原生android,华为悦盒/各种安卓盒子找回原生设置以及适配蓝牙遥控器...
  9. 这竟然是全世界最好的模式(商业大佬为之咂舌)
  10. android6.0原生壁纸,安卓6.0原生壁纸 androidM6.0自带高清壁纸下载
  11. 有道云笔记的敏捷开发实践——好文收藏吧!【转】
  12. vue刘海屏兼容组件
  13. [033] 微信公众帐号开发教程第9篇-QQ表情的发送与接收
  14. 概率论:魏布斯分布Weibull cumulative distribution function
  15. 光纤收发器的原理及应用_光纤收发器知识讲解(一)
  16. 【文献学习】异质异构集成
  17. 【codeforces 794A】Bank Robbery
  18. 小米手机qq或者微信分享时 不能选取双开应用。提示任何个人应用都无法打开此内容解决办法!
  19. 医用纤维和树脂的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  20. set -o vi

热门文章

  1. Mysql数据库常用指令
  2. Qt5.9生成dll详细步骤
  3. c#图像灰度化、灰度反转、二值化
  4. iOS UI 开发按钮的使用
  5. dfinity什么时候发币_区块链3.0的Dfinity揭秘
  6. Glide加载圆形图片并且带白色边框(绝对实用)
  7. python anaconda和pycharm_Pycharm下 Anaconda和Conda的使用
  8. catia将板环形弯成圆_3.4.3-Catia变换之圆形阵列命令
  9. excel appliacation 不能分配角色_用了5年Excel,换了这个神奇的报表工具,不禁感叹:国产真香...
  10. uniformRowHeights属性