mysql游标循环表与存储过程传参
发布日期:2021-06-29 11:46:47
浏览次数:2
分类:技术文章
本文共 1548 字,大约阅读时间需要 5 分钟。
drop procedure if exists proc_tmp;create procedure proc_tmp(in cnt int)BEGIN/*这种写法也可以:DECLARE done INT DEFAULT FALSE;*/declare done int default 0; /*用于判断是否结束循环*/declare zoneCode varchar(100); /*用于存储结果集S_S的记录(因为我这里S_S的记录只有一列且为bigint类型)*//*定义游标*/declare zoneCur cursor for select code from demo_zone where code!='Q07';/*定义 设置循环结束标识done值怎么改变 的逻辑*/declare continue handler for not FOUND set done = 1; /*done = true;亦可*/open zoneCur; /*打开游标*//* 循环开始 */REPEAT/* 如果要fetch多列应该这样写,fetch idCur into rowId, rowName 但是注意rowId和rowName要先declare,且declare cur时也要select两列,且这两列和rowId、rowName对应 */fetch zoneCur into zoneCode; /*这部分可以看看书,还可以fetch多列(假设结果集S_S的记录不是单列的话)*/if not done THEN /*数值为非0,MySQL认为是true*/INSERT INTO `hznet_demo`.`sys_station`(`id`, `name`, `type`, `stationid`, `remark`, `longitude`, `latitude`, `enable_control`, `stationsts`, `stationpic`, `code`, `svnaddress`) select 10000000+@rowNum:=@rowNum + 1, temp.`name`, temp.`type`, 10000000+@rowNum:=@rowNum, temp.`remark`, temp.`longitude`+0.1, temp.`latitude`+0.1, temp.`enable_control`, temp.`stationsts`, temp.`stationpic`, temp.`code`, temp.`svnaddress`from sys_station a,(SELECT @rowNum:=(select count(1) from sys_station)) b,(select `name`, `type`, `remark`, `longitude`, `latitude`, `enable_control`, `stationsts`, `stationpic`, `code`, `svnaddress`from sys_station a, demo_station_config cwhere a.stationid=c.stationid and a.stationid not in (0,1,2,3) and c.zone_code=zoneCode limit 1) temp limit cnt;end if;until done end repeat;close zoneCur; /*关闭游标*/END/* 循环结束 */-- call proc_tmp(40);
转载地址:https://blog.csdn.net/zzchances/article/details/103678814 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月04日 08时55分12秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
130. 被围绕的区域
2019-04-29
欧式距离、余弦相似度和余弦距离
2019-04-29
transform 等效转换(参考源码)
2019-04-29
Docker学习(二):Docker基本操作(控制容器)
2019-04-29
Unity之C#学习笔记(0):环境配置与上手 HelloWorld
2019-04-29
高并发高可用秒杀系统(一)
2019-04-29
php如何将base64数据流文件转换为图片文件?
2019-04-29
JavaScript 的addEventListener() 事件监听详解!
2019-04-29
JavaScript的DOMContentLoaded事件和load的区别?
2019-04-29
PHP+JavaScript实现图片预览上传功能开发!
2019-04-29
JSONView - Chrome插件安装详解!(谷歌浏览器插件)!
2019-04-29
上传图片到阿里云OSS和获取上传图片的url的详解 !
2019-04-29
webstorm 和 phpstorm 有什么区别呢?做 WEB 开发用哪个好?
2019-04-29
常见位运算
2019-04-29
CentOS安装TortoiseSVN客户端【附SVN常用命令的详细介绍】
2019-04-29
CentOS中文乱码处理
2019-04-29
CentOS-5的yum源无法使用问题
2019-04-29
Linux常用的基本命令
2019-04-29
玩转Vim编辑器
2019-04-29
Linux下VI命令大全
2019-04-29