为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

侃侃尔雅 2023-04-09 14:10:32
想实现一个输入多个类别 可以分别查出子类的函数  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一直不变,就死循环了


查看完整回答
反对 回复 2023-04-12
?
MMTTMM

TA贡献1869条经验 获得超4个赞

SET NodeIdStr   =RIGHT(NodeIdStr ,LENGTH(NodeIdStr) - THE_CNT-1);

查看完整回答
反对 回复 2023-04-12
  • 2 回答
  • 0 关注
  • 80 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信