"Tonal" ...
23.06.2011 16:11, Vlad Khorsun пишет:
   delete from ... where id in (with recursive...)

   delete from ... where exists (with recursive...)

   Или, раз уж речь о exec block, то

   for with recursive ... do delete ...;
Ежели дерево связано FK без каскада (или set null), то удалять нужно с
листиков к корню.
В последнем примере будет ровно наоборот - первым придёт корень.

   Это как запрос напишешь.

В примерах с delete порядок удаления как-то совсем не понятен - можешь
обяснить как его указать, чтобы дерево удалилось без проблем?

   Ты можешь обойти дерево с подсчётом уровеня вложенности каждой записи ?
А отсортировать по этому уровню в desc направлении ?

--
Хорсун Влад

Ответить