У меня есть таблица базы данных, которая представляет собой группу деревьев. Первые три столбца - это GUID, которые выглядят так:
NODE_ID (PK)
PARENT_NODE_ID (FK to same table, references NODE_ID)
TREE_ID (FK to another table)
Возможно переместить узел в другое дерево. Сложная часть приносит все свои дочерние узлы с этим. Это требует рекурсивного обновления. (И да, я понимаю, что это довольно плохой дизайн, во-первых. Я не проектировал его. Мне просто нужно его поддерживать и я не могу изменить схему базы данных.)
Было бы неплохо, если бы я мог выполнить обновление в SQL как хранимую процедуру. Но я не могу придумать, как реализовать рекурсивную операцию, требуемую в логике множеств, без использования курсора. Кто-нибудь знает достаточно простой способ осуществить это?