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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

前方太黑暗   2021-04-22 我要评论

如图:

表数据

这样的一棵树,如何获取“高寅瑞”下的所有节点(一条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));

总结

猜您喜欢

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们