当前位置:网站首页>MySql存储过程游标遍历结果集
MySql存储过程游标遍历结果集
2022-07-02 09:38:00 【亿码当先】
创建存储过程:
#判断存储过程是否存在,存在删除
DROP PROCEDURE IF EXISTS toCard;
CREATE DEFINER=`root`@`%` PROCEDURE `toCard`()
BEGIN
#声明结束标识
DECLARE end_flag int DEFAULT 0;
#变量
DECLARE userId,cardThird bigint;
DECLARE cardHex,leftCard,rightCard,ecardNum VARCHAR(10);
#声明游标 user_curosr,将sql结果集赋值到游标中
DECLARE user_curosr CURSOR FOR SELECT id,ecardNumThird FROM u_user WHERE ecardNumThird IS NOT NULL AND ecardNumThird!='';
#设置终止标识
DECLARE CONTINUE HANDLER FOR NOT FOUND SET end_flag=1;
#打开游标
OPEN user_curosr;
#遍历游标
REPEAT
#获取当前游标指针记录,取出值赋给自定义的变量,注:变量名不要与sql返回的列名相同,变量顺序要和sql结果列的顺序一致
FETCH user_curosr INTO userId,cardThird;
SET cardHex=CONV(LEFT(cardThird, 8), 10, 16);
SET leftCard= CONV(LEFT(LPAD(cardHex,8,0) , 4), 16, 10);
SET rightCard= CONV(RIGHT(LPAD(cardHex,8,0) , 4), 16, 10);
SET ecardNum=LPAD(CONCAT(leftCard,rightCard),8,0);
#输出结果
#SELECT userId,cardThird,cardHex,leftCard,rightCard,ecardNum;
#利用取到的值进行数据库的操作
UPDATE u_user SET ecardNum=ecardNum WHERE id=userId;
# 根据 end_flag 判断是否结束
UNTIL end_flag END REPEAT;
#关闭游标
close user_curosr;
END
执行存储过程:
call toCard();
内包含wiegand26卡号转换协议
边栏推荐
- [idea] use the plug-in to reverse generate code with one click
- 三.芯片启动和时钟系统
- TIPC messaging3
- flutter 问题总结
- Map set assignment to database
- 抖音海外版TikTok:正与拜登政府敲定最终数据安全协议
- PKG package manager usage instance in FreeBSD
- PHP tea sales and shopping online store
- 二.Stm32f407芯片GPIO编程,寄存器操作,库函数操作和位段操作
- Mongodb learning and sorting (condition operator, $type operator, limit() method, skip() method and sort() method)
猜你喜欢
ImportError: cannot import name ‘Digraph‘ from ‘graphviz‘
Tdsql | difficult employment? Tencent cloud database micro authentication to help you
Skills of PLC recorder in quickly monitoring multiple PLC bits
MySQL比较运算符IN问题求解
TIPC addressing 2
TIPC 寻址2
JS -- take a number randomly from the array every call, and it cannot be the same as the last time
VS2019代码中包含中文内容导致的编译错误和打印输出乱码问题
On April 17, 2022, the five heart matchmaker team received double good news
III Chip startup and clock system
随机推荐
Iii. Système de démarrage et d'horloge à puce
ctf 记录
TDSQL|就业难?腾讯云数据库微认证来帮你
SSRF
Skills of PLC recorder in quickly monitoring multiple PLC bits
函数式接口和方法引用
Liftover for genome coordinate conversion
Implementation of six singleton modes
MTK full dump grab
String (Analog
Xiao Sha's pain (double pointer
Indexer in C #
基于Hardhat编写合约测试用例
QT learning diary 8 - resource file addition
III Chip startup and clock system
SSRF
数字化转型挂帅复产复工,线上线下全融合重建商业逻辑
On April 17, 2022, the five heart matchmaker team received double good news
JS——每次调用从数组里面随机取一个数,且不能与上一次为同一个
Tick Data and Resampling