CREATE FUNCTION `getChildLst`(`rootId` INT) RETURNS VARCHAR(1000)
BEGIN
DECLARE sTemp VARCHAR(1000);
DECLARE sTempChd VARCHAR(1000);
SET sTemp = null;
SET sTempChd =cast(rootId as CHAR);
WHILE sTempChd is not null DO
SET sTemp = concat_ws(',',sTemp,sTempChd,null);
SELECT group_concat(id) INTO sTempChd FROM test where FIND_IN_SET(pid,sTempChd)>0;
END WHILE;
RETURN sTemp;
END
层数返回受RETURNS VARCHAR(1000)大小影响
该博客内容涉及数据库操作和SQL查询,主要介绍了一个名为`getChildLst`的MySQL函数,用于递归地获取指定根节点ID的所有子节点ID。函数通过WHILE循环和FIND_IN_SET函数实现,将子节点ID以逗号分隔的字符串形式返回。注意,返回结果受到RETURNS VARCHAR(1000)长度限制。
620

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



