DELIMITER // CREATE FUNCTION get_all_father(rootId INT) RETURNS varchar(1000) DETERMINISTIC BEGIN DECLARE sTemp VARCHAR(1000); DECLARE sTempPar VARCHAR(1000); SET sTemp = ''; SET sTempPar =rootId; #循环递归 WHILE sTempPar is not null DO #判断是否是第一个,不加的话第一个会为空 IF sTemp != '' THEN SET sTemp = concat(sTemp,',',sTempPar); ELSE SET sTemp = sTempPar; END IF; SELECT group_concat(FParentID) INTO sTempPar FROM T_Account where FParentID<>PID and FIND_IN_SET(PID,sTempPar)>0; END WHILE; RETURN sTemp; END // DELIMITER ; DELIMITER // CREATE FUNCTION get_all_children(id INT) RETURNS VARCHAR(2000) DETERMINISTIC BEGIN DECLARE children VARCHAR(2000); DECLARE loop_id INT; SET children = id; SET loop_id = id; WHILE loop_id IS NOT NULL DO IF id <> loop_id THEN SET children = CONCAT(children, ',', (SELECT GROUP_CONCAT(PID) FROM T_Account WHERE PID = loop_id)); END IF; SET loop_id = (SELECT PID FROM T_Account WHERE FParentID = loop_id); END WHILE; RETURN children; END // DELIMITER ; SELECT get_all_children(1) select get_all_father(5);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2020-05-29 asp.net core 3.1 使用log4net