MySQL存储过程中利用do while循环实现将行与行具有层级关系(联系)的行值检索出来
找出给定学生的好友的名字,及其好友的好友的名字…直到最后一个好友没有了好友,如表为空
drop procedure if exist mypro;
delimiter $$
creat procedure mypro($stuID int)
begin
set @friends='';
select BestFriendID into @BestFriendID from friends where stuID=$stuID;
while(@BestFriendID<>'') DO
select @friends:=concat(@friends,' ',stuName),@BestFriendID:=BestFriendID from friends where stuID=@BestFriendID;
end while;
select @friends;
end $$
delimiter ;
call mypro();
举例所用表(table) friends
StuID | StuName | BestFriendID |
---|---|---|
1 | 罗辑 | 23 |
2 | 云天明 | 31 |
3 | 朝闻道 | 46 |
4 | 地球大炮 | |
5 | 王舞 | 63 |
… | … | … |
23 | 降琦 | 14 |
31 | 埃尔文 | 37 |
34 | 郝仁 | |
46 | 楚子航 | 11 |
63 | 薇薇安 | 34 |
MySQL存储过程中利用do while循环实现将行与行具有层级关系(联系)的行值检索出来相关推荐
- MySQL存储过程中的3种循环
MySQL存储过程中的3种循环 在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易 ...
- linux mysql 存储过程乱码,mysql存储过程中 乱码问题解决办法
中文乱码无论在何时都是一个头疼的问题,mysql的存储过程参数也同样存在这个问题. 1.直接使用insert into语句没问题,能够正常插入汉字. 2.把insert into语句移到Procedu ...
- mysql declare与set的区别_浅谈MySQL存储过程中declare和set定义变量的区别
在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅 ...
- mysql扩展中如何处理结果集_我们如何处理MySQL存储过程中的结果集?
我们可以使用游标来处理存储过程中的结果集.基本上,游标允许我们迭代查询返回的一组行并相应地处理每一行. 为了演示在MySQL存储过程中CURSOR的用法,我们基于以下名为" student_ ...
- mysql存储过程中as_Mysql存储过程中的delimiter
这个命令与存储过程没什么关系吧. 其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了. 默认情况下,delimiter是分号;.在命令行客户端中,如果有一行命令以分号结束, ...
- mysql 存储过程中limit
mysql 存储过程中limit 1.mysql的高版本(5.5),存储过程中的limit可以使用变量,如下:select * from student limit iStart,iNum; 2.my ...
- mysql 存储过程中 if else的使用 和赋值方式
mysql 存储过程中 if else的使用 和赋值方式 在mysql 中顶一个变量的语法 DECLARE variable_name datatype(size) DEFAULT default_v ...
- mysql存储过程set什么意思_浅谈MySQL存储过程中declare和set定义变量的区别
在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅 ...
- mysql数据库中,查询一个表的下一条数据减上一条数据的值的写法
mysql数据库中,查询一个表的下一条数据减上一条数据的值的写法: select a.nodeId,a.cpuCharge-b.cpuCharge cpuCharge, a.chargeTime fr ...
最新文章
- Nature综述:微生物沿着寄生-共生连续体进化和转变!
- 使用js实现放大镜效果
- 基于ASA防火墙的SSL ×××配置
- 《iVX 高仿美团APP制作移动端完整项目》03 推介信息及推荐商家分析及制作
- 借助格式化输出过canary保护
- Docker 入门使用 (二)
- 如何让地面不起灰_什么是不发火地面,如何施工?
- oracle 函数 abs,Oracle 函数(八)
- Hutool:时间日期工具
- ITU-T E.800 有关服务质量(QoS)的术语定义
- Sublime Text实现代码自动生成,快速编写HTML/CSS代码
- java retainAll
- cv2.cvtColor报错
- P2P软件UFX被指藏后门搜客户信息 融都科技否认
- 【延展Extension的基本使用 Objective-C语言】
- 树莓派4b自带wifi_树莓派raspberry4B入坑指南 part-11 在命令行中设置wifi
- 5个最佳免费Linux杀毒软件
- UE4联机多人游戏基本设置
- “熊孩子”乱敲键盘就攻破了Linux桌面,大神:17年前我就警告过你们
- ac9260网卡linux,160Mhz频宽的怒吼,Intel Wireless-AC 9260 无线网卡评测
热门文章
- 「机械工程」力矩,转矩,扭矩的理解
- 百度网盘PC端缓存文件夹
- 432偏计算机编程,统计学考研432笔记
- ibm服务器互换硬盘,实战IBM xSeries 346服务器更换硬盘 - 鲜甜IT.Net
- 【原创】从BZOJ2683 简单题中 整 CDQ分治解决三维偏序
- CEO年薪过亿,谁说了算?
- 贝多芬《升c小调第十四钢琴奏鸣曲》 个人浅谈
- 服务器内置usb能否修改为外置,台式机内置的DVD刻录机可以改成外置的USB接口吗?...
- java理论_java入门——基础理论
- 数据仓库 OLAP