mysql游标的使用 No data

编程入门 行业动态 更新时间:2024-10-26 03:28:15

mysql<a href=https://www.elefans.com/category/jswz/34/1767796.html style=游标的使用 No data"/>

mysql游标的使用 No data

原文地址:.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()//


案例一:

DECLARE IS_FOUND INTEGER DEFAULT 1;
DECLARE cur CURSOR FOR SELECT  qs_position_encoder,xc_position_encoder,id FROM mechanism WHERE  PLC_Time BETWEEN beTimeIntPa AND enTimeIntPa ;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET IS_FOUND=0;

OPEN cur;
read_loop: LOOP
FETCH  cur INTO mez,mey,meId;
IF IS_FOUND=0 THEN 
LEAVE read_loop;
END IF;

        ...
END LOOP;


更多推荐

mysql游标的使用 No data

本文发布于:2024-02-08 20:51:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1674900.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:游标   mysql   data

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!