CREATE DEFINER=`root`@`%` FUNCTION `getChildLst`(rootId INT) RETURNS varchar(1000) CHARSET utf8
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 location_base where FIND_IN_SET(pid,sTempChd)>0;
END WHILE;
RETURN sTemp;
END
location_base ---->需要执行操作的表明。字段且为 id, pid
本文介绍了一个MySQL函数,该函数通过递归查询来获取指定节点的所有子节点ID列表。此函数使用了变量和循环结构,适用于具有层级关系的数据表。
174万+

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



