想实现一个输入多个类别 可以分别查出子类的函数 getCatalogParentLst()方法是获取一个类别的子类的方法 BEGIN DECLARE THE_CNT INT(15) DEFAULT 1; /*保存,位置*/ DECLARE sTempID VARCHAR(1000);/*存储拆分的ID*/ DECLARE resultTemp VARCHAR(15000);/*存储拆分的ID*/ DECLARE result VARCHAR(15000) DEFAULT NULL; /*保存返回结果*/ SET THE_CNT = LOCATE(',',NodeIdStr); SET result='$'; WHILE (THE_CNT >= 0) do IF THE_CNT = 0 THEN SET resultTemp = getCatalogParentLst(NodeIdStr); SET result =CONCAT(result,',',resultTemp); ELSE SET sTempID = SUBSTRING_INDEX(SUBSTRING_INDEX(NodeIdStr, ',', 1), ',', -1); SET resultTemp = getCatalogParentLst(sTempID); SET result = CONCAT(result,',',resultTemp); end IF ; SET NodeIdStr =RIGHT(NodeIdStr ,LENGTH(NodeIdStr) - THE_CNT); SET THE_CNT = LOCATE(',',NodeIdStr); END WHILE; RETURN result; END
2 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
如果你的NodeIdStr以,号开始, THE_CNT=0,
SET NodeIdStr =RIGHT(NodeIdStr ,LENGTH(NodeIdStr) - THE_CNT);
NodeIdStr一直不变,就死循环了
添加回答
举报
0/150
提交
取消