创建递归函数,根据项目rootId 找到其所有子项目 最终返回 以“,”连接在一起的子项目id串
DROP FUNCTION IF EXISTS `queryChilProject`;
CREATE DEFINER = `root`@`%` FUNCTION `queryChilProject`(rootId INT)
RETURNS varchar(4000)
BEGIN
DECLARE sTempChd VARCHAR(4000);
SET sTempChd = cast(rootId as char);
WHILE sTempChd is not NULL DO
SET sTemp =(CASE when sTemp is null
then sTempChd
else concat(sTemp,',',sTempChd)
END);
SELECT group_concat(id) INTO sTempChd FROM projects where FIND_IN_SET(parent_id,sTempChd)>0;
END WHILE;
return sTemp;
END;
DROP FUNCTION IF EXISTS `queryChilProject`;
CREATE DEFINER = `root`@`%` FUNCTION `queryChilProject`(rootId INT)
RETURNS varchar(4000)
BEGIN
DECLARE sTemp VARCHAR(4000);
DECLARE sTempChd VARCHAR(4000);
SET sTempChd = cast(rootId as char);
WHILE sTempChd is not NULL DO
SET sTemp =(CASE when sTemp is null
then sTempChd
else concat(sTemp,',',sTempChd)
END);
SELECT group_concat(id) INTO sTempChd FROM projects where FIND_IN_SET(parent_id,sTempChd)>0;
END WHILE;
return sTemp;
END;