DELIMITER $
DROP PROCEDURE if EXISTS getParLst;
CREATE PROCEDURE getParLst(IN rootId VARCHAR(50),OUT sTemp VARCHAR(1000))
BEGIN
DECLARE sTempPar VARCHAR(1000);
SET sTemp = '';
SET sTempPar =rootId;
#循环递归
WHILE sTempPar !='0' DO
#判断是否是第一个,不加的话第一个会为空
IF sTemp != '' THEN
SET sTemp = sTemp;
SET sTemp = concat(sTemp,',',sTempPar);
ELSE
SET sTemp = '';
SET sTemp = concat(sTemp,',');
END IF;
SELECT group_concat(parent_id) INTO sTempPar FROM bd_device_type where parent_id<>device_type_id and data_flag='0' and FIND_IN_SET(device_type_id,sTempPar)>0;
END WHILE;
SELECT SUBSTRING(sTemp,3) into sTemp;
END $
DELIMITER;