MySql 存储过程使用游标循环插入数据问题
DELIMITER $$
CREATE PROCEDURE wheelSta()
BEGIN
DECLARE inexp,income,taks,c_count,t_taks, e,c INT;
DECLARE b INT DEFAULT 0; /*是否达到记录的末尾控制变量*/
DECLARE day_1,day_2 DATE;
DECLARE cur_1 CURSOR FOR SELECT COUNT,creat_time,taks FROM `cn_members_log` WHERE taks = 12 AND DATE(creat_time) = DATE_SUB(CURDATE(),INTERVAL 1 DAY);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET b = 1;
OPEN cur_1;
FETCH cur_1 INTO c_count, day_1, t_taks; /*获取第一条记录*/
WHILE b=0 DO
INSERT INTO cn_members_sta(inexp,TIME,taks) VALUES(c_count, day_1, t_taks);
FETCH cur_1 INTO c_count, day_1, t_taks; /*取下一条记录*/
END WHILE;
CLOSE cur_1;
END$$
DELIMITER ;
通过SELECT COUNT,creat_time,taks FROM `cn_members_log` WHERE taks = 12 AND DATE(creat_time) = DATE_SUB(CURDATE(),INTERVAL 1 DAY);这句可以查出4条记录,但是执行后在cn_members_sta表中却一条数据都没有,求解~
CREATE PROCEDURE wheelSta()
BEGIN
DECLARE inexp,income,taks,c_count,t_taks, e,c INT;
DECLARE b INT DEFAULT 0; /*是否达到记录的末尾控制变量*/
DECLARE day_1,day_2 DATE;
DECLARE cur_1 CURSOR FOR SELECT COUNT,creat_time,taks FROM `cn_members_log` WHERE taks = 12 AND DATE(creat_time) = DATE_SUB(CURDATE(),INTERVAL 1 DAY);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET b = 1;
OPEN cur_1;
FETCH cur_1 INTO c_count, day_1, t_taks; /*获取第一条记录*/
WHILE b=0 DO
INSERT INTO cn_members_sta(inexp,TIME,taks) VALUES(c_count, day_1, t_taks);
FETCH cur_1 INTO c_count, day_1, t_taks; /*取下一条记录*/
END WHILE;
CLOSE cur_1;
END$$
DELIMITER ;
通过SELECT COUNT,creat_time,taks FROM `cn_members_log` WHERE taks = 12 AND DATE(creat_time) = DATE_SUB(CURDATE(),INTERVAL 1 DAY);这句可以查出4条记录,但是执行后在cn_members_sta表中却一条数据都没有,求解~
...全文
相关推荐
mysql存储过程基础之遍历多表记录后插入第三方表中详解
前言 自从学过存储过程后,就再也没有碰过存储过程,这是毕业后写的第一个存储过程。 因为项目里设备的种类比较多,分别存在不同的数据表中,java中对应不同的java bean对象,想要统一管理有点困难。最近正好要开发一个功能模块,就是需要统一对设备进行处理,想着为了以后都能方便的统一处理各种设备,就从现在开始设计一套方案管理起这些项目吧。 如何统一管理呢? 如果从项目一开始设计的时候就能考虑到项目会发展成今天这样,当初就应该抽取公共父类,对所有类型的所有公共字段进行统一抽取,这样无论添加多少模块,需要对设备进行操作的时候,都只需要关联统一父类,数据间的关系就清晰多了,开发也会简单很多。 那么现在
mysql游标嵌套[文].pdf
mysql游标嵌套[文].pdf
MySQL游标的使用及实现步骤详解
MySQL游标是一种在数据库存储过程中用于逐行处理查询结果的控制结构。 其主要步骤包括:声明游标以定义所需查询,打开游标以进行初始化,使用FETCH提取每一行数据,并在完成操作后关闭游标以释放资源。 游标通常用于需要对结果集的每一行执行特定操作的场景,如更新或删除。通过DECLARE CONTINUE HANDLER处理结束条件,可以在遍历完成后正常退出循环。虽然游标为逐行数据处理提供了便利,但在处理大量数据时可能影响性能,因此在设计时需权衡其使用的必要性和效率。
mysql 树形结构查询
mysql 树形结构查询,使用存储过程,实现mysql的树形结构查询
通过存储过程删除Mysql数据库表中的重复记录.pdf
通过存储过程,删除Mysql数据库表中的重复记录,只保留一条;


