В SQL 2005 добавлена поддержка рекурсивных запросов. Я использую рекурсивный запрос для возврата дерева данных, которое заполняет TreeView. Для каждой записи я нахожу соответствующий родительский узел в TreeView и добавляю его нового дочернего элемента.
Для обновлений вы можете сериализовать дерево в XML, а затем использовать функции XML в SQL 2005 для запуска оператора «update».