mysql循环嵌套循环语句_mysql 游标嵌套循环实例

  • Post author:
  • Post category:mysql


BEGIN

#Routine body goes here…

####所有的2个小时之前生成的待支付订单更新为已过期

DECLARE tmp_id INT;

DECLARE tmp_order_id VARCHAR(22);

DECLARE flag INT;

DECLARE update_cursor CURSOR FOR SELECT id, order_id FROM yjl_item_order WHERE order_status = 0 AND add_time < DATE_SUB(NOW(),INTERVAL 2 HOUR);

DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag=1;

SET flag=0;

OPEN update_cursor;

loop_xx1: LOOP /*循环*/

FETCH update_cursor INTO tmp_id,tmp_order_id;

IF flag=1 THEN

leave loop_xx1;

END IF;

BEGIN

DECLARE tmp_price_id INT;

DECLARE tmp_num INT;

DECLARE flag1 INT;

DECLARE cursor2 CURSOR FOR SELECT price_id,code_num FROM yjl_order_info WHERE order_id = tmp_order_id;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag1=1;

###更新此订单的抵价券和邀请码

UPDATE log_member_voucher a LEFT JOIN yjl_member_voucher b ON a.mixed_id = b.id SET a.status = 3, b.voucher_status = 0 WHERE a.order_id =

tmp_order_id AND a.status = 0;

UPDATE yjl_item_order SET order_status = 2 WHERE id = tmp_id;

SET flag1=0;

OPEN cursor2;

loop_xx2: LOOP

FETCH cursor2 INTO tmp_price_id, tmp_num;

IF flag1=1 THEN

leave loop_xx2;

END IF;

###库存回滚

UPDATE yjl_item_store SET realse_num = realse_num + tmp_num WHERE price_id = tmp_price_id;

END LOOP;

END;

/*update set where*/

END LOOP;

CLOSE update_cursor ;

END

SqlServer和MySQL游标学习

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

MySQL存储过程使用实例详解

本文介绍关于在MySQL存储过程游标使用实例,包括简单游标使用与游标循环跳出等方法 例1.一个简单存储过程游标实例 DROP PROCEDURE IF EXISTS getUserInfo $$CRE …

mysql sql优化实例

mysql sql优化实例 优化前: pt-query-degist分析结果: # Query 3: 0.00 QPS, 0.00x concurrency, ID 0xDC6E62FA021C85B …

MySQL游标操作指南

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

个人笔记mysql游标

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

MySQL游标的简单实践

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

mysql触发器trigger 实例详解

mysql触发器trigger 实例详解 (转自 https://www.cnblogs.com/phpper/p/7587031.html)   MySQL好像从5.0.2版本就开始支持触发器的功能 …

mysql 游标 demo

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

MySQL增量备份与恢复实例【转】

小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份.增量备份的原理就是使用了mysql的binlog日志.本次操作的 …

随机推荐

Android开发学习—— shape标签的使用

参考这片文章http://www.cnblogs.com/armyfai/p/5912414.html

nginx中配置pathinfo模式示例

要想让nginx支持PATH_INFO,首先需要知道什么是pathinfo,为什么要用pathinfo? pathinfo不是nginx的功能,pathinfo是php的功能. php中有两个path …

Symbols of String Pattern Matching

Symbols of String Pattern Matching in Introduction to Algorithms. As it’s important to be clear when …

light oj 1155 – Power Transmission【拆点网络流】

1155 – Power Transmission   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 …

runtime 运行时机制 完全解读

runtime 运行时机制 完全解读   目录[-] import import 我们前面已经讲过一篇runtime 原理,现在这篇文章主要介绍的是runtime是什么以及怎么用!希望对读者有所帮助! …

HTML输入框只能输入数字或数字字母组合

JS判断只能是数字和小数点 1.文本框只能输入数字代码(小数点也不能输入)



版权声明:本文为weixin_30563489原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。