Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
CREATE TEMPORARY TABLE tmp__index(id int,pid int ,rid int, level int);
IF zlevel<=0 THEN
/** число наобум */
SET max_sp_recursion_depth= 15;
ELSE
SET max_sp_recursion_depth= zlevel+1;
END IF;
на
SET max_sp_recursion_depth= 15;
и заработало.
В-третьих, непонятно зачем делается запрос с Join select c.* from catalog as c join tmp__index as t on t.rid=c.id если можно взять сразу всё select'ом в начале процедуры и записать это во временную таблицу, а потом вернуть.
После этих правок всё заработало. Еще раз большое спасибо!
Задача отображения деревьев в MySql. Способ отображения на хранимых процедурах