统计分析-mysql游标

项目中的统计分析模块,使用存储过程对数据进行统计,满足用户查看报表数据的需求。之前对于mysql的游标使用较少,写个小例子,熟悉下游标以备忘。  

实现功能: 将shop_boss表中部分字段的值插入到test表中。

CREATE DEFINER=`admin`@`%` PROCEDURE `test_cursor1`()
BEGIN
    #Routine body goes here...
    DECLARE boss_count INT DEFAULT 0;#循环变量
    DECLARE _boss_id INT(11);
    DECLARE _user_id VARCHAR(10);
    DECLARE _shop_id INT(11);
    DECLARE _count INT DEFAULT 0;

    DECLARE cur1 CURSOR FOR select boss_id,user_id,shop_id from shop_boss;#声明游标
    OPEN cur1;#打开游标

    select count(*) into _count from shop_boss;
    
    WHILE boss_count < _count DO#循环条件
        FETCH cur1 INTO _boss_id, _user_id, _shop_id;
        #select _boss_id;
        
        insert into test values(_boss_id, _user_id, _shop_id);#插入数据
        set boss_count = boss_count + 1;
    END WHILE;

    CLOSE cur1;#关闭游标

END

猜你喜欢

转载自qify.iteye.com/blog/1894153