Recoursive CTE jest wyrażeniem CTE, które odwołuje się. Rekurencyjny CTE działa poprzez zwrócenie podzbioru, a następnie odwołuje się, aż zwróci wszystkie wyniki.
CTE rekurencyjne są przydatne podczas zapytania do zagnieżdżonych/wielopoziomowych lub hierarchicznych zestawów danych. Na przykład, jeśli masz komponent zawierający inne dane i że dane zawierają inne zagnieżdżone dane, rekurencyjny CTE jest dobrym sposobem na zapytanie o takie dane.
SQL Server Recursive CTE
Poniżej przedstawiono składnię do wykonywania rekurencyjnego CTE:
Z Expression_name (kolumn_list)Przykład - Podstawowy przykładowy przykład CTE
Poniższy przykład pokazuje podstawowe użycie funkcji rekurencyjnej CTE na serwerze SQL:
z cte (n) jakoWyjście:
n |Przykład 2 - Używanie CTE do obliczenia dnia tygodnia.
Poniższy przykład pokazuje, jak używać rekurencyjnego CTE do określenia liczby dni w tygodniu.
Z CTE_EXEC (n,Powstałe wyjście jest jak pokazano:
Wniosek
Jest to podstawa pracy z rekurencyjnymi CTES na SQL Server.