解决 mysql 存储过程 repeat 循环多一次
来源:互联网 发布:卖家加入淘宝客要求 编辑:程序博客网 时间:2024/05/16 11:33
BEGIN -- 声明局部变量 DECLARE done BOOLEAN DEFAULT 0; DECLARE goods_name varchar(266); DECLARE cat_name varchar(255); DECLARE goname CURSOR For SELECT b.goodsName as goodsName,c.name as catname FROM es_spider_bigdata b,es_goods_cat c where c.cat_id=b.catid GROUP BY goodsName ; -- 当SQLSTATE为02000时设置done值为1 DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1; -- 创建一个ordertotals的表 -- CREATE TABLE IF NOT EXISTS ordertotals( order_num INT , total DECIMAL(8,2)) start transaction;delete from bigana_result_temp where DATE_SUB(curdate(),INTERVAL 30 day)>date;commit; Open goname ; -- 开始循环 REPEAT FETCH goname INTO goods_name,cat_name; IF done<>1 THEN -- 把当前行的值赋给声明的局部变量o中 -- 用上文讲到的ordertotal存储过程并传入参数,返回营业税计算后的合计传给t变量 INSERT INTO bigana_result_temp (catName, price, unit, location, name, date) SELECT DISTINCT c.name catName,format(avg(goodsprice), 2) price,u.unit unit,e.location location,e.goodsName name,date_format(e.date, '%y-%m-%d') dateFROMes_goods_cat c,es_spider_bigdata e,(SELECTunitFROMes_spider_bigdata t,es_goods_cat cWHEREt.goodsname = goods_nameAND t.catid = c.cat_idAND c. NAME = cat_nameGROUP BYunitORDER BYcount(unit) DESCLIMIT 0,1) uWHEREe.unit = u.unitAND goodsname = goods_nameAND c.cat_id = e.catidAND c. NAME = cat_name-- 正式环境中需要放开-- And e.date=CURDATE(); GROUP BYe.location; end if; -- 把订单号和合计插入到新建的ordertotals表中 UNTIL done END REPEAT; -- 关闭游标 Close goname ; ENDif 判断和 fetch 游标数据的顺序不能颠倒
阅读全文
0 0
- 解决 mysql 存储过程 repeat 循环多一次
- mysql存储过程repeat循环游标基本步骤
- mysql 存储过程 REPEAT ... UNTIL ... END REPEAT
- mysql存储过程3种循环结构之repeat循环举例
- mysql 存储过程循环
- 存储过程:repeat
- 如何解决一次执行多文件中的存储过程
- MySQL 存储过程循环遍历
- mysql存储过程之循环
- mysql存储过程之循环
- MySQL存储过程循环详解
- mysql 存储过程 循环插入
- mysql存储过程中三种循环
- MySQL 存储过程中的循环
- mysql存储过程 loop循环
- mysql存储过程 loop循环
- mysql 存储过程 游标 循环
- MySql 循环添加 存储过程
- linux解压集合
- Java并发编程:Timer和TimerTask(转载)
- FTPrep: 45 Jump Game 2
- 前端散乱笔记汇总
- HashMap和Hashtable的区别
- 解决 mysql 存储过程 repeat 循环多一次
- 【golang】第三方命令行 cli 的使用
- 手机画图
- 解决win10win7win8系统注册不了大漠插件,注册失败的问题
- 通过java调用短信猫发短信
- C++学习心得
- 133个Java面试列表
- Java线程面试题 Top 50 (转载)
- Nodejs版本快速升至最新版