Задавайте вопросы, мы ответим
Вы не зашли.
Неактивен
Спасибо за полезную ссылку, но меня интересует построение иерархии вниз от каталога, а в примере представлено нахождение полного пути к каталогу.
Некоторая сложность заключается в том что родительский каталог всегда один, а вот подкаталогов может быть огромное множество, у каждого из которых еще свое множество подкаталогов, а это всё множество необходимо удалить.
Неактивен
Нужно делать через рекурсию. Посмотрите книгу М. Кузнецов, И. Симдянов, "MySql на примерах", 2007 г. Там на стр. 414 рассмотрено решение аналогичной задачи с использованием рекурсии.
А вообще задача очень интересная.
Неактивен
структура таблицы catalogs:
(*id_catalog, name, id_parent)
delimiter //
create procedure delcat (IN id INT)
begin
declare is_end int default 0;
declare id_cat int default 0;
declare cat cursor for
select id_catalog from catalogs where id_parent = id;
declare continue handler for not found set is_end=1;
open cat;
wet: LOOP
FETCH cat INTO id_cat;
IF id_cat >0 THEN CALL delcat(id_cat);
END IF;
DELETE FROM catalogs WHERE id_catalog =id_cat;
IF is_end THEN LEAVE wet;
END IF;
END LOOP wet;
CLOSE cat;
DELETE FROM catalog WHERE id_catalog=id;
END
//
delimiter ;
Неактивен