只是想循环这个方法 把结果叠加 但是运行了就结束不了

想实现一个输入多个类别 可以分别查出子类的函数  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

侃侃尔雅
浏览 81回答 2
2回答

慕田峪7331174

如果你的NodeIdStr以,号开始, THE_CNT=0, SET NodeIdStr   =RIGHT(NodeIdStr ,LENGTH(NodeIdStr) - THE_CNT); NodeIdStr一直不变,就死循环了

MMTTMM

SET NodeIdStr   =RIGHT(NodeIdStr ,LENGTH(NodeIdStr) - THE_CNT-1);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java