找出给定学生的好友的名字,及其好友的好友的名字…直到最后一个好友没有了好友,如表为空

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循环实现将行与行具有层级关系(联系)的行值检索出来相关推荐

  1. MySQL存储过程中的3种循环

    MySQL存储过程中的3种循环 在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易 ...

  2. linux mysql 存储过程乱码,mysql存储过程中 乱码问题解决办法

    中文乱码无论在何时都是一个头疼的问题,mysql的存储过程参数也同样存在这个问题. 1.直接使用insert into语句没问题,能够正常插入汉字. 2.把insert into语句移到Procedu ...

  3. mysql declare与set的区别_浅谈MySQL存储过程中declare和set定义变量的区别

    在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅 ...

  4. mysql扩展中如何处理结果集_我们如何处理MySQL存储过程中的结果集?

    我们可以使用游标来处理存储过程中的结果集.基本上,游标允许我们迭代查询返回的一组行并相应地处理每一行. 为了演示在MySQL存储过程中CURSOR的用法,我们基于以下名为" student_ ...

  5. mysql存储过程中as_Mysql存储过程中的delimiter

    这个命令与存储过程没什么关系吧. 其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了. 默认情况下,delimiter是分号;.在命令行客户端中,如果有一行命令以分号结束, ...

  6. mysql 存储过程中limit

    mysql 存储过程中limit 1.mysql的高版本(5.5),存储过程中的limit可以使用变量,如下:select * from student limit iStart,iNum; 2.my ...

  7. mysql 存储过程中 if else的使用 和赋值方式

    mysql 存储过程中 if else的使用 和赋值方式 在mysql 中顶一个变量的语法 DECLARE variable_name datatype(size) DEFAULT default_v ...

  8. mysql存储过程set什么意思_浅谈MySQL存储过程中declare和set定义变量的区别

    在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅 ...

  9. mysql数据库中,查询一个表的下一条数据减上一条数据的值的写法

    mysql数据库中,查询一个表的下一条数据减上一条数据的值的写法: select a.nodeId,a.cpuCharge-b.cpuCharge cpuCharge, a.chargeTime fr ...

最新文章

  1. Nature综述:微生物沿着寄生-共生连续体进化和转变!
  2. 使用js实现放大镜效果
  3. 基于ASA防火墙的SSL ×××配置
  4. 《iVX 高仿美团APP制作移动端完整项目》03 推介信息及推荐商家分析及制作
  5. 借助格式化输出过canary保护
  6. Docker 入门使用 (二)
  7. 如何让地面不起灰_什么是不发火地面,如何施工?
  8. oracle 函数 abs,Oracle 函数(八)
  9. Hutool:时间日期工具
  10. ITU-T E.800 有关服务质量(QoS)的术语定义
  11. Sublime Text实现代码自动生成,快速编写HTML/CSS代码
  12. java retainAll
  13. cv2.cvtColor报错
  14. P2P软件UFX被指藏后门搜客户信息 融都科技否认
  15. 【延展Extension的基本使用 Objective-C语言】
  16. 树莓派4b自带wifi_树莓派raspberry4B入坑指南 part-11 在命令行中设置wifi
  17. 5个最佳免费Linux杀毒软件
  18. UE4联机多人游戏基本设置
  19. “熊孩子”乱敲键盘就攻破了Linux桌面,大神:17年前我就警告过你们
  20. ac9260网卡linux,160Mhz频宽的怒吼,Intel Wireless-AC 9260 无线网卡评测

热门文章

  1. 「机械工程」力矩,转矩,扭矩的理解
  2. 百度网盘PC端缓存文件夹
  3. 432偏计算机编程,统计学考研432笔记
  4. ibm服务器互换硬盘,实战IBM xSeries 346服务器更换硬盘 - 鲜甜IT.Net
  5. 【原创】从BZOJ2683 简单题中 整 CDQ分治解决三维偏序
  6. CEO年薪过亿,谁说了算?
  7. 贝多芬《升c小调第十四钢琴奏鸣曲》 个人浅谈
  8. 服务器内置usb能否修改为外置,台式机内置的DVD刻录机可以改成外置的USB接口吗?...
  9. java理论_java入门——基础理论
  10. 数据仓库 OLAP