Изменения документа Рекурсивный запрос

Редактировал(а) Alexandr Fokin 2023/12/16 14:12

От версии 5.1
отредактировано Alexandr Fokin
на 2023/12/16 14:01
Изменить комментарий: Renamed back-links.
К версии 3.1
отредактировано Alexandr Fokin
на 2022/03/19 13:02
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Родительский документ
... ... @@ -1,1 +1,1 @@
1 -Разработка.Базы данных 2.SQL.MSSQL.SQL запросы.WebHome
1 +Разработка.Базы данных.SQL.MSSQL.SQL запросы.WebHome
Содержимое
... ... @@ -1,4 +1,4 @@
1 -Запрос задействует механизм [[CTE>>doc:Разработка.Базы данных 2.SQL.MSSQL.TSQL.CTE.WebHome]].
1 +Запрос задействует механизм [[CTE>>doc:Разработка.Базы данных.SQL.MSSQL.TSQL.CTE.WebHome]].
2 2  
3 3  {{code language="sql"}}
4 4  WITH RECURSIVE tree (nm, id, level, pathstr)
... ... @@ -42,8 +42,7 @@
42 42  
43 43  В некоторых случаях рекурсивного запроса можно избежать (в случае извлечения из хранилища некоторого агрегата).
44 44  Достаточно помимо ключа/отношения Parent-Child, добавить ключ/отношение Root-Child.
45 -Таким образом можно извлечь все поддерево Root элемента за 1 join.
46 -Это немного усложнит модель - в случае выполнения update нужно не забыть обновить оба поля. (Чтобы не допустить состояния, когда родительский элемент принадлежит к другому Root элементу)
45 +Таким образом можно извлечь все поддерево Root элемента за 1 Join.
47 47  
48 48  ----
49 49