Я пытаюсь закодировать хранимую процедуру в MySql, чтобы удалить целое поддерево из древовидной структуры.
CREATE PROCEDURE delete_with_children(IN node INT)
BEGIN
DECLARE child_id INT;
DECLARE finished INT DEFAULT 0;
DECLARE cur CURSOR FOR
SELECT id FROM nodes WHERE parent_id = node;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;
DELETE from nodes where id = node;
OPEN cur;
WHILE(finished < 1) DO
FETCH cur INTO child_id;
CALL delete_with_children(child_id);
END WHILE;
CLOSE cur;
END;
Она вставляется хорошо, но когда я пытаюсь выполнить ее с аргументом 4 для этой структуры https://imgur.com/a/kqW7ulS, я получаю такую ошибку: для процедуры delete_with_children был превышен рекурсивный предел 100 (как установлено переменной max_sp_recursion_depth). Буду признателен, если кто-нибудь поможет мне.