递归存储过程

Posted a963383404

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归存储过程相关的知识,希望对你有一定的参考价值。

select id from oc_groups where FIND_IN_SET(id, getChildLst(23));

select id from oc_groups where FIND_IN_SET(id, getChildLst(9))

CREATE FUNCTION `getChildLst`(rootId INT)
RETURNS varchar(1000)
BEGIN
DECLARE sTemp VARCHAR(1000);
DECLARE sTempChd VARCHAR(1000);
SET sTemp = ‘$‘;
SET sTempChd =cast(rootId as CHAR);
WHILE sTempChd is not null DO
SET sTemp = concat(sTemp,‘,‘,sTempChd);
SELECT group_concat(id) INTO sTempChd FROM oc_groups where FIND_IN_SET(parentid,sTempChd)>0;
END WHILE;
RETURN sTemp;
END

show function STATUS

drop function getChildLst

delete from oc_groups where id>9

以上是关于递归存储过程的主要内容,如果未能解决你的问题,请参考以下文章

SQL 命令调用递归存储过程

SQL,While循环,递归存储过程或游标中哪个更快?

用mysql存储过程代替递归查询

存储过程递归查询

存储过程递归获取获取多级部门全名

如何在递归存储过程中使用数据透视