首页 > 数据库 > MySQL

mysql 使用存储过程实现树节点的获取方法

admin MySQL 2022-02-09 21:33:56 mysql   存储过程   mysql树节点获取"

如图:

表数据

这样的一棵树,如何获取“高寅瑞”下的所有节点(一条sql语句是肯定搞不定的)

通过存储过程来写

DELIMITER //
CREATE FUNCTION `getChildLst`(rootId INT)
 
RETURNS varchar(1000) READS SQL DATA
 
BEGIN
 DECLARE sTemp VARCHAR(1000);
 
 DECLARE sTempChd VARCHAR(1000);
 
 SET sTemp = '$';
 
 SET sTempChd =cast(rootId as CHAR);
 
 WHILE sTempChd is not null DO
 
 SET sTemp = concat(sTemp,',',sTempChd);
 
 SELECT group_concat(id) INTO sTempChd FROM document_file_name where FIND_IN_SET(pId,sTempChd)>0;
 
 END WHILE;
 
 RETURN sTemp;
 
END //

创建如上存储过程

select * from document_file_name where find_in_set(id, getChildLst(1));

总结

到此这篇关于mysql 使用存储过程实现树节点的获取的文章就介绍到这了,更多相关mysql 存储过程树节点获取内容请搜索潘少俊衡以前的文章或继续浏览下面的相关文章希望大家以后多多支持潘少俊衡!

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:/shujuku/MySQL/102197.html

留言与评论(共有 0 条评论)
   
验证码:

潘少俊衡

| 桂ICP备2023010378号-4

Powered By EmpireCMS

爱享小站

中德益农

谷姐神农

环亚肥料

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

感谢潘少俊衡友情技术支持