Cattus Nocturnus пишет:

Подскажите как? Как минимум, требуется обход дерева с вычислением
глубины каждого узла относительно некоторого заданного узла.

Может я неправильно понимаю, но почему бы не хранить номер уровня для
каждого узла, заполнять его при вставке триггером? Тогда глубина,
относительно заданного узла = глубина просматриваемого - глубина
заданного. И рекурсия не нужна, просто цикл по всем записям. :)

С глубинным уважением,
Денис Редозубов.

З.Ы. Если же речь идёт о длине пути от заданного узла, тогда нужно
хранить кодированный путь от корня до каждого узла и иметь функцию,
вычисляющего общего для двух сравниваемых узлов предка и складывающего
длины. Для двоичного дерева это достаточно просто, для других - сложнее
тем, что при такой глубине вложенности может просто не хватить
varchar'а.

Ответить