Преобразование дерева значений в таблицу значений и обратно

Задача по преобразованию дерева значений в таблицу значений встречается не так чтобы часто, но тем не менее встречается и я привожу в этой статье свое решение этой задачи.

Дерево значений в таблицу значений

Дано: дерево значений (2 колонки) и таблица значений (4 колонки). Две дополнительные колонки в таблице значений нужны для обратного преобразования, если оно не требуется то и колонки не нужны.

Код выглядит так:

В колонку «ГУИД» таблицы значений записывается уникальный идентификатор строки (он просто генерируется), а в колонку «Родитель» записывается уникальный идентификатор строки-родителя (для строк верхнего уровня — нулевой уникальный идентификатор).

Таблица значений в дерево значений

Обратное преобразование производится при помощи двух лишних колонок («ГУИД» и «Родитель») если из таблицы значений была удалена какая-то строка, то все подчиненные ей строки также будут удалены.

Код выглядит так:

Работу приведенного выше кода можно посмотреть в маленькой обработке.

На этом все, надеюсь статья Вам помогла.

2 комментария к “Преобразование дерева значений в таблицу значений и обратно

  1. Pingback: Работа с ДеревомЗначений
  2. Отличное решение. Просто, коротко и по делу 🙂 Смотрел другие варианты — много текста, а результат тот же.
    И спасибо автору, мне пригодилось.

Оставить комментарий