mysql游标的使用 No data - zero rows fetched, selected
转自:http://blog.sina.com.cn/s/blog_544c72960101bvl3.html
这是一个游标的使用例子.
但是其中有几点需要注意,就是为什么要加入 declare CONTINUE HANDLER FOR SQLSTATE '02000' SET tmpname= null;这样的一句话.
如果不加的话将直接报错.No data - zero rows fetched, selected, or processed
另外也有人提示过这样的经验:
经验之谈:
在MYSQL的存储过程一般要设个变量来跟踪是否NOT FOUND
DECLARE IS_FOUND INTEGER DEFAULT 1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET IS_FOUND=0;
** 上面这行表示若没有数据返回,程序继续,并将变量IS_FOUND设为0
这种情况是出现在select XX into XXX from tablename的时候发生的,这个时候如果XX是null就会有问题.其实也可以这样解决
select isnull(xxxx,0) into aaaa from tableName
这样如果遇到null就为0了..
drop procedure if exists useCursor //
CREATE PROCEDURE useCursor()
BEGIN
declare tmpName varchar(20) default '' ;
declare allName varchar(255) default '' ;
declare cur1 CURSOR FOR SELECT name FROM test.level ;
declare CONTINUE HANDLER FOR SQLSTATE '02000' SET tmpname = null;
OPEN cur1;
FETCH cur1 INTO tmpName;
WHILE ( tmpname is not null) DO
set tmpName = CONCAT(tmpName ,";") ;
set allName = CONCAT(allName ,tmpName) ;
FETCH cur1 INTO tmpName;
END WHILE;
CLOSE cur1;
select allName ;
END;//
call useCursor()//
mysql游标的使用 No data - zero rows fetched, selected的更多相关文章
- 错误解决mysql - Event Scheduler: No data - zero rows fetched, selected, or processed
当遇到一个NOT FOUND(无数据)的警告时,使用一个包含清除警告语句的条件句柄处理,就可以继续处理程序并退出句柄. 这个问题在MySQL5.6.3之后的版本已经解决了,所以该解决方法不是必要的. ...
- MySQL存储过程错误No data - zero rows fetched, selected, or processed
原因:游标没有获取到任何内容! 解决方案 : 声明一个 continue handler declare continue handler for not found set V_NotFound = ...
- SqlServer和MySQL游标学习
一 sqlserver游标使用 /*** 游标的使用 讲了这个多游标的优点,现在我们就亲自来揭开游标的神秘的面纱. 使用游标的顺序: 声名游标.打开游标.读取数据.关闭游标.删除游标. 1.3.1 ...
- mysql游标的使用
这是一个游标的使用例子. 但是其中有几点需要注意,就是为什么要加入 declare CONTINUE HANDLER FOR SQLSTATE '02000' SET tmpname = null;这 ...
- Mysql高手系列 - 第19篇:mysql游标详解,此技能可用于救火
Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 这是Mysql系列第19篇. 环境:mysql5.7.25,cmd命令中进行演示. 代码中被[]包含的表示可选,|符 ...
- Mysql 游标初识
MySql 游标初识 认识 游标(cursor), 按字面意思可理解为, 游动的标识, 或者叫做"光标", 这样更容易理解. 就好比现有一张表存储了n行记录, 然后我想每次取出一行 ...
- MySQL游标操作指南
本篇文章是对MySQL游标的具体使用进行了详细的分析介绍,需要的朋友参考下 测试表 level 代码如下: create table test.level (name varchar(20)); ...
- MySQL frm+ibd文件还原data的办法【数据恢复】
MySQL frm+ibd文件还原data的办法[数据恢复] 此方法只适合innodb_file_per_table = 1 当误删除ibdata 该怎么办? 如下步骤即可恢复: 1 ...
- mysql frm的恢复,data里只有frm文件的恢复
mysql frm的恢复,data里只有frm文件的恢复 mysql frm的恢复,data里只有frm文件的恢复,换了系统,装了windows2003,重装最新5.4版的mysql,把原来的一个数据 ...
随机推荐
- golang 引用相对路径package
My $GOPATH is "/Users/peter/goworkspace" Golang 版本是: go version go1.6 darwin/amd64 在这个work ...
- Javascript中的依赖注入
首先通过带参函数来定义一个Javascript函数,相当于C#中的一个类. var Person = function(firstname, lastname){ this.firstname = f ...
- Unity3D实践系列08, MonoBehaviour类的各种触发事件
在脚本的生命周期中,有Awake, Start, FixedUpdate, Update, LateUpdate等方法,其实这些属于MonoBehaviour类的事件响应方法,是MonoBehavio ...
- Android 数据存储02之文件读写
Android文件读写 版本 修改内容 日期 修改人 V1.0 原始版本 2013/2/25 skywang Android文件读写的有两种方式.一种,是通过标准的JavaIO库去读写.另一种,是通过 ...
- layoutSubviews 在什么情况下会被触发
layoutSubviews在以下情况下会被调用: 1.init初始化不会触发layoutSubviews 2.addSubview会触发layoutSubviews 3.设置view的Frame会触 ...
- iOS 实现复选框 checkbox
-(void)checkboxClick:(UIButton *)btn{ btn.selected = !btn.selected;} - (void)viewDidLoad {UIButto ...
- python测试开发django-11.模型models详解
前言 Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库 只需要在settings ...
- java数字转换成文字方法
public class IntToSmallChineseNumber { public static String ToCH(int intInput) { String si = String. ...
- 单身毒妈第一至八季/全集Weeds迅雷下载
本季第一.二.三.四季 Weeds (2005-2008) 看点:由于丈夫的意外身亡,Nancy Botwin成了一名膝下抚有两子的单身母亲,一无所长的她找不到一份能养活一家三口的工作,但天无绝人之路 ...
- PHP开发微信被动回复消息遇到的大坑
最近开始做CMS后台与微信公众号的整合,在做被动回复消息时,按照官方文档的XML格式回复消息,总是提示"该公众号提供的服务出现故障,请稍后再试".但是通过微信提供的接口调试工具看我 ...