读书人

MySQL 递归兑现

发布时间: 2012-11-11 10:07:57 作者: rapoo

MySQL 递归实现

CREATE DEFINER=`root`@`localhost` FUNCTION `getChildLst`(pId CHAR(32)) RETURNS varchar(1000) CHARSET utf8BEGIN /** select * from t_users  where FIND_IN_SET(userId ,getChildLst('admin'))**/DECLARE sTemp VARCHAR(10000);DECLARE sTempChd VARCHAR(10000);SET sTemp = "-1";SET sTempChd =cast(pId as CHAR);WHILE sTempChd is not null DOSET sTemp = concat(sTemp,',',sTempChd);SELECT GROUP_CONCAT(g.userId) INTO sTempChd FROM t_users g where FIND_IN_SET(g.parentId, sTempChd)>0;END WHILE;RETURN sTemp;END

读书人网 >Mysql

热点推荐