Ein rekursives CTE auf der Hand ist ein CTE -Ausdruck, der sich selbst verweist. Ein rekursives CTE funktioniert, indem sie eine Teilmenge zurückgibt und sich dann selbst bezieht, bis es alle Ergebnisse zurückgibt.
Rekursive CTEs sind nützlich, wenn Sie verschachtelte/mehrstufige oder hierarchische Datensätze abfragen. Wenn Sie beispielsweise eine Komponente haben, die andere Daten enthält und diese Daten andere verschachtelte Daten enthalten, ist ein rekursiver CTE eine gute Möglichkeit, solche Daten abzufragen.
SQL Server rekursiv CTE
Das Folgende zeigt die Syntax für die Durchführung eines rekursiven CTE:
Mit expression_name (column_list)Beispiel - Basic rekursives CTE -Beispiel
Das folgende Beispiel zeigt die grundlegende Verwendung der rekursiven CTE -Funktion in SQL Server:
mit cte (n) alsAusgang:
n |Beispiel 2 - Verwenden Sie CTE, um den Wochentag zu berechnen.
Das folgende Beispiel zeigt, wie ein rekursives CTE verwendet wird, um die Anzahl der Tage in einer Woche zu bestimmen.
Mit cte_exec (n,Die resultierende Ausgabe ist wie gezeigt:
Abschluss
Dies ist die Grundlagen für die Arbeit mit rekursiven CTEs in SQL Server.