mysql:在循环中存储过程迭代选择结果

mysql:在循环中存储过程迭代选择结果,mysql,stored-procedures,Mysql,Stored Procedures,我需要从mysql存储过程中的一个类别中获取所有子类别级别。但我只是读到游标不能在while循环中使用。有人知道如何做到这一点吗 declare element varchar(150); declare bDone INT; declare remain varchar(256) default concat(category, ','); while remain != '' do set element = substring_index(remain, ',', 1);

我需要从mysql存储过程中的一个类别中获取所有子类别级别。但我只是读到游标不能在while循环中使用。有人知道如何做到这一点吗

declare element varchar(150);
declare bDone INT;
declare remain varchar(256) default concat(category, ',');
while remain != '' do
    set element = substring_index(remain, ',', 1);
    declare curs CURSOR FOR  select id from product_categories where product_categories.parent_id = element;
    declare CONTINUE HANDLER FOR NOT FOUND SET bDone = 1;
    .
    .
    .
end while;
产品类别有以下字段:

  • 身份证
  • 名字
  • 家长id

什么是最大类别深度?没有最大类别深度,我希望它是通用的