CREATE PROCEDURE `sp_UpdateData`()
BEGIN
DECLARE v_card_id VARCHAR(50);
/*修改会员卡的几个金额*/
DECLARE done INT DEFAULT FALSE;
DECLARE cur CURSOR FOR
SELECT main.card_id FROM mem_card main
INNER JOIN mem_card_extend b ON main.card_id=b.card_id
WHERE main.status_code=1 AND b.status_code=1
AND main.sale_status=2
GROUP BY main.card_id;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur;
read_loop: LOOP
FETCH cur INTO v_card_id;
IF done THEN
LEAVE read_loop;
END IF;
UPDATE mem_card_extend a SET total_fill_self_money=IFNULL((SELECT SUM(adjust_money) FROM mem_card_money_flow f WHERE (money_operate_type=2 OR money_operate_type=4) AND status_code=1 AND f.card_id=v_card_id),0) WHERE a.card_id=v_card_id; -- 累计充值本金
UPDATE mem_card_extend a SET total_fill_give_money=IFNULL((SELECT SUM(adjust_give_money) FROM mem_card_money_flow f WHERE money_operate_type=4 AND status_code=1 AND f.card_id=v_card_id),0) WHERE a.card_id=v_card_id; -- 累计充值赠送
UPDATE mem_card_extend a SET total_adjust_self_money=IFNULL((SELECT SUM(adjust_money) FROM mem_card_money_flow f WHERE money_operate_type=3 AND status_code=1 AND f.card_id=v_card_id),0) WHERE a.card_id=v_card_id; -- 累计调整本金
UPDATE mem_card_extend a SET total_adjust_give_money=IFNULL((SELECT SUM(adjust_give_money) FROM mem_card_money_flow f WHERE money_operate_type=3 AND status_code=1 AND f.card_id=v_card_id),0) WHERE a.card_id=v_card_id; -- 累计调整赠送
UPDATE mem_card_extend a SET total_score_fill_self_money=IFNULL((SELECT SUM(adjust_money) FROM mem_card_money_flow f WHERE money_operate_type=5 AND status_code=1 AND f.card_id=v_card_id),0) WHERE a.card_id=v_card_id; -- 累计积分兑换本金
UPDATE mem_card_extend a SET total_score_fill_give_money=IFNULL((SELECT SUM(adjust_give_money) FROM mem_card_money_flow f WHERE money_operate_type=5 AND status_code=1 AND f.card_id=v_card_id ),0) WHERE a.card_id=v_card_id; -- 累计积分兑换赠送
END LOOP;
CLOSE cur;
END$$

MYSQL游标使用的更多相关文章

  1. SqlServer和MySQL游标学习

    一 sqlserver游标使用 /*** 游标的使用  讲了这个多游标的优点,现在我们就亲自来揭开游标的神秘的面纱.  使用游标的顺序: 声名游标.打开游标.读取数据.关闭游标.删除游标. 1.3.1 ...

  2. MySQL游标操作指南

    本篇文章是对MySQL游标的具体使用进行了详细的分析介绍,需要的朋友参考下   测试表 level  代码如下: create table test.level (name varchar(20)); ...

  3. 个人笔记mysql游标

    经过测试,mysql游标是无法读取自定义函数计算的结构,mysql自带的函数计算值是可以读取的.

  4. MySQL游标的简单实践

    Q:为什么要使用游标? A: 在存储过程(或函数)中,如果某条select语句返回的结果集中只有1行,可以使用select into语句(上几篇博客有介绍到用法)来得到该行进行处理:如果结果集中有多行 ...

  5. mysql 游标 demo

    一.MySQL游标的概念 1.游标介绍 MySQL的游标(cursor)是一个重要的概念,通过查找资料与自己的理解,主要得出以下几点关于自己的理解. 有数据缓冲的思想:游标的设计是一种数据缓冲区的思想 ...

  6. [转]MySQL游标的使用

    转自:http://www.cnblogs.com/sk-net/archive/2011/09/07/2170224.html 以下的文章主要介绍的是MySQL游标的使用笔记,其可以用在存储过程的S ...

  7. Mysql 游标初识

    MySql 游标初识 认识 游标(cursor), 按字面意思可理解为, 游动的标识, 或者叫做"光标", 这样更容易理解. 就好比现有一张表存储了n行记录, 然后我想每次取出一行 ...

  8. MySQL 游标

    概述 本章节介绍使用游标来批量进行表操作,包括批量添加索引.批量添加字段等.如果对存储过程.变量定义.预处理还不是很熟悉先阅读我前面写过的关于这三个概念的文章,只有先了解了这三个概念才能更好的理解这篇 ...

  9. Mysql游标的简明写法

    -- cursor 游标/*declare 声明; declare 游标名 cursor for select_statement;open 找开; open 游标名fetch 取值; fetch 游 ...

  10. MySQL游标循环取出空值的BUG

    早上同事要我写个MySQL去除重复数据的SQL,想起来上次写过一篇MySQL去除重复数据的博客,使用导入导出加唯一索引实现的,但是那种方式对业务影响较大,所以重新写一个存储过程来删重复数据,这一写就写 ...

随机推荐

  1. 关于插件管理器Alcatraz

    如何安装插件管理器Alcatraz:去github下载一个Alcatraz安装包,然后运行一下. 会弹出 记得选择左边的Load Bundle 退出Xcode 重新运行一下就OK 了. 然后就可以看到 ...

  2. 【代码笔记】iOS-根据size截取屏幕中间矩形区域

    代码: RootViewController.m #import "RootViewController.h" @interface RootViewController () @ ...

  3. iOS开发之多线程技术

    本篇争取一篇讲清讲透,依然将通过四大方面清晰的对iOS开发中多线程的用法进行详尽的讲解: 一.什么是多线程 1)多线程执行原理 2)线程与进程 3)多线程的优缺点 二.我们为什么要用多线程编程技术 三 ...

  4. redis使用笔记

    mysql---select * from table where xx;insert into table(name1,name2..) values(value1,value2);delete f ...

  5. IntelliJ IDEA 导入新项目以后的简单配置

    首先,配置Maven. 然后,配置Git. 选择自己调试要用的默认浏览器. 进行Edit Configurations 配置: 转载请注明出处! http://www.cnblogs.com/libi ...

  6. Play Framework 第一个应用

    熟悉的Hello World 新创建一个工程,了解下重要文件的结构 .\app controllers\models\views 目前比较流行的MVC架构 .\conf application.con ...

  7. First glance in Go

    Because I forgot to install the Chinese input in this OS, I have to use English input. The first pro ...

  8. JavaScript Lib Interface (JavaScript系统定义的接口一览表)

    function Object(){}; Object.prototype.toString = function(){return "";}; Object.prototype. ...

  9. mysql优化案例分析

    本文总结了一些工作常见的sql优化例子,虽然比较简单,但很实用,希望对大家有所帮助.sql优化一般分为两类,一类是sql本身的优化,如何走到合适的索引,如何减少排序,减少逻辑读:另一类是sql本身没有 ...

  10. dos2unix用法

    windows下编写的脚本,上传到linux上执行,有时会出现莫名其妙的结果,也是折腾了半天才找出原因,windows和linux有些编码不同,经dos2unix处理后,结果一切正常man dos2u ...