mysql创建函数之省市区数据查询

DROP FUNCTION IF EXISTS queryChildrenAreaInfo;
CREATE FUNCTION queryChildrenAreaInfo(areaId varchar(20),area_level int)
RETURNS VARCHAR(4000)
BEGIN
DECLARE sTemp VARCHAR(4000);
DECLARE sTempChd VARCHAR(4000);

SET sTemp='$';
SET sTempChd = areaId;

WHILE sTempChd IS NOT NULL DO
SET sTemp= CONCAT(sTemp,',',sTempChd);
SELECT GROUP_CONCAT(area_id) INTO sTempChd FROM area WHERE FIND_IN_SET(Parentarea_id,sTempChd)>0 and area_type=area_level;
END WHILE;
RETURN sTemp;
END;

猜你喜欢

转载自www.cnblogs.com/wuyubing/p/9234515.html