当前位置:网站首页>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卡号转换协议
边栏推荐
- Attribute acquisition method and operation notes of C # multidimensional array
- Resources读取2d纹理 转换为png格式
- 基于Hardhat和Openzeppelin开发可升级合约(二)
- sqlite 修改列类型
- Programmer growth Chapter 6: how to choose a company?
- 从攻击面视角,看信创零信任方案实践
- Indexer in C #
- 三.芯片启动和时钟系统
- Basic usage of MySQL in centos8
- Is the Ren domain name valuable? Is it worth investing? What is the application scope of Ren domain name?
猜你喜欢

CTF record

Openmldb meetup No.4 meeting minutes

Solve the problem of data blank in the quick sliding page of the uniapp list

webauthn——官方开发文档

TIPC addressing 2

可升级合约的原理-DelegateCall

PKG package manager usage instance in FreeBSD

【云原生】2.5 Kubernetes 核心实战(下)

ImportError: cannot import name ‘Digraph‘ from ‘graphviz‘

PHP tea sales and shopping online store
随机推荐
Is the stock account given by qiniu business school safe? Can I open an account?
Implementation of six singleton modes
基于Hardhat编写合约测试用例
Multi line display and single line display of tqdm
MySQL比较运算符IN问题求解
八大排序汇总
Why does LabVIEW lose precision in floating point numbers
II Stm32f407 chip GPIO programming, register operation, library function operation and bit segment operation
Mongodb learning and sorting (condition operator, $type operator, limit() method, skip() method and sort() method)
V2x SIM dataset (Shanghai Jiaotong University & New York University)
Redis超出最大内存错误OOM command not allowed when used memory > 'maxmemory'
RPA进阶(二)Uipath应用实践
The working day of the month is calculated from the 1st day of each month
Array splitting (regular thinking
CTF record
sqlite 修改列类型
Calculate the sum of sequences
三.芯片啟動和時鐘系統
高德根据轨迹画线
TIPC addressing 2