CREATE DEFINER=`root`@`localhost` FUNCTION `getParentNodeList`(`nodeId` BIGINT) RETURNS varchar(1000) CHARSET utf8
BEGIN
DECLARE parentList VARCHAR(1000); # 返回父节点结果集
DECLARE tempParentId VARCHAR(1000); # 临时存放父节点
DECLARE nodeName VARCHAR(1000); # 临时存放父节点名称
SET parentList = '';
SET tempParentId = CAST(nodeId as CHAR); # 将int类型转换为String
SET nodeName = ''; # 将int类型转换为String
lable1:loop # 循环,用于查询节点上所有的父节点
SELECT parent_id,`name` INTO tempParentId, nodeName FROM engineering_equipment_cls where id = tempParentId; # 查询节点上所有父节点
SET parentList = CONCAT(nodeName, ',', parentList); # 存入到返回结果中
if tempParentId=0 THEN
LEAVE lable1;
END IF;
END loop lable1;
RETURN SUBSTRING(parentList, 1, CHAR_LENGTH(parentList)-1); # 将返回结果处理,截取掉结果集前面的逗号
END
mysql 拼接父节点路径
最新推荐文章于 2025-06-11 14:00:56 发布
本文介绍了一个名为`getParentNodeList`的MySQL函数,用于递归查询工程设备类别的父节点ID和名称,通过SQL查询实现数据结构的父子关系遍历。
2073

被折叠的 条评论
为什么被折叠?



