MySQL 游标使用

注意:需要在存储过程中使用

列子:

BEGIN
    DECLARE done INT DEFAULT 0;
    DECLARE a  int;
    DECLARE n int;
    DECLARE mycursor CURSOR FOR SELECT  ID FROM c_sjzdb;/*获取游标*/
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;/*标示是否获取到游标,如果游标没获取到执行 SET done=1*/

    OPEN mycursor;/*打开游标*/

    WHILE done=0 DO  /*循环*/
        FETCH mycursor INTO a; /*将游标内容赋值给变量a*/
                
                /*进行个人的逻辑代码处理*/
                SET n = (SELECT count(ID) from c_sjzdb where I_FID=a and (I_ZT=0 or I_ZT=1));
                UPDATE c_sjzdb SET I_HZSL = n where ID=a;

    END WHILE;

    CLOSE mycursor;/*关闭游标*/
        
END

 

posted @ 2016-12-28 14:54  VirusCIH  阅读(88)  评论(0)    收藏  举报