需求:解决获取用户创建的子用户列表及子用户创建的子用户列表
说明:1,本例递归函数语句;
2,遇到的数据库管理工具的坑
1,本例递归函数语句:
CREATE FUNCTION getChildLst(rootId INT)
RETURNS VARCHAR(1000)
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(user_id) INTO sTempChd FROM xt_user WHERE FIND_IN_SET(higher_uid,sTempChd)>0;
END WHILE;
RETURN sTemp;
END
2,遇到的数据库管理工具的坑:
本例用的Navicat编写的,但是放在SQLyog中使用出现了语法问题
原因是Navicat对 DELIMITER 进行了处理,这里有篇链接可以看看对 DELIMITER 的介绍
解决: