Hierarchiczne i rekurencyjne zapytania w SQL Server
Jasmin Ludolf
Content Developer
Czym jest rekurencja?

Rekurencja to zastosowanie procedury, podprogramu, funkcji lub algorytmu, który wywołuje siebie jeden lub więcej razy, aż do spełnienia określonego warunku
Definicja wspólnego wyrażenia tabelowego (CTE):
WITH CTEtable as (
<select statement on a table>
)
SELECT *
FROM CTEtable
Określa tymczasowy, nazwany zestaw wyników znany jako wspólne wyrażenie tabelowe (CTE)
Definicja rekurencyjnego CTE:
WITH cte_name AS (
-- Anchor member
<cte_initial_query>
UNION ALL
-- Recursive member
<cte_recursive_query> )
SELECT *
FROM cte_name
Przykłady z rzeczywistości:
Operacje na tabeli:
CREATE, INSERT, ALTER, DROPRelacyjny model danych:
Hierarchiczny i sieciowy model danych:


Typowe zadania:
Planowanie podróży lotniczych:

Jak złożyć samochód?

Modelowanie sieci energetycznej

Hierarchiczne i rekurencyjne zapytania w SQL Server