Mysql使用存储过程和游标
2017-09-30 15:36
330 查看
DROP PROCEDURE IF EXISTS `PROC_Modify_YID`;
CREATE PROCEDURE PROC_Modify_YID()
BEGIN
DECLARE mYID INT;
DECLARE mFlag INT;
DECLARE NewYID INT;
-- 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
declare auth_cur cursor for
SELECT YID,Flag FROM cradle_camera_param;
-- 打开游标
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; -- 绑定控制变量到游标,游标循环结束自动转true
open auth_cur;
-- 开始循环
myLoop: LOOP -- 开始循环体,myLoop为自定义循环名,结束循环时用到
-- 提取游标里的数据,这里只有一个,多个的话也一样;
FETCH auth_cur INTO mYID,mFlag;
-- 声明结束的时候
IF done THEN -- 判断是否继续循环
LEAVE myLoop; -- 结束循环
END IF;
set NewYID = mYID + mFlag;
SELECT mYID,mFlag,NewYID;
update cradle_camera_param set YID = NewYID WHERE Flag=mFlag;
COMMIT; -- 提交事务
END LOOP myLoop; -- 结束自定义循环体
close auth_cur;
END
CALL PROC_Modify_YID();
CREATE PROCEDURE PROC_Modify_YID()
BEGIN
DECLARE mYID INT;
DECLARE mFlag INT;
DECLARE NewYID INT;
-- 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
declare auth_cur cursor for
SELECT YID,Flag FROM cradle_camera_param;
-- 打开游标
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; -- 绑定控制变量到游标,游标循环结束自动转true
open auth_cur;
-- 开始循环
myLoop: LOOP -- 开始循环体,myLoop为自定义循环名,结束循环时用到
-- 提取游标里的数据,这里只有一个,多个的话也一样;
FETCH auth_cur INTO mYID,mFlag;
-- 声明结束的时候
IF done THEN -- 判断是否继续循环
LEAVE myLoop; -- 结束循环
END IF;
set NewYID = mYID + mFlag;
SELECT mYID,mFlag,NewYID;
update cradle_camera_param set YID = NewYID WHERE Flag=mFlag;
COMMIT; -- 提交事务
END LOOP myLoop; -- 结束自定义循环体
close auth_cur;
END
CALL PROC_Modify_YID();
相关文章推荐
- mysql 使用游标进行删除操作的存储过程
- mysql 存储过程、游标及逐行处理的配合使用
- mysql中使用存储过程,游标,定时任务
- MySQL 5.0 存储过程例子(使用了游标)
- mysql 存储过程 -- 游标的使用
- mysql中使用存储过程,游标,定时任务
- mysql存储过程 游标 循环使用介绍
- mysql 使用游标进行删除操作的存储过程
- Mysql创建存储过程,使用游标Cursor循环更新
- mysql存储过程 游标使用
- MySql 使用存储过程和游标读取并更新数据
- MySQL存储过程学习整理,游标使用,参数输入输出
- Mysql创建存储过程,使用游标Cursor循环更新
- mysql存储过程 游标 循环使用 含SQLSTATE mysql异常代码汇总大全
- 关于Mysql使用存储过程,并且使用游标的Demo
- mysql 记录一次实际业务中使用到存储过程、游标
- mysql存储过程 --游标的使用 取每行记录 (多字段)
- mysql存储过程 游标 循环使用介绍
- mysql 存储过程 -- 游标的使用(备忘)
- mysql 存储过程 游标的使用 与定义