Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Die maximale Rekursion 100 wurde erschöpft, bevor der Anweisungsabschlussfehler in der SQL-Abfrage angezeigt wird

Sie können die Anzahl der Rekursionsebenen mit MAXRECURSION begrenzen Optionshinweis wie folgt:OPTION (MAXRECURSION 0); wobei der Wert (zwischen 0 und 32767) die Anzahl der Rekursionsebenen angibt, wobei 0 unendlich bedeutet.

Aus der Dokumentation für CTE:

Und die Dokumentation für die Abfragehinweise Zustände:

Um die Anweisung zu verwenden, fügen Sie die OPTION-Klausel nach der FROM-Klausel in der Abfrage mit dem rekursiven CTE.

an

Die Angabe von 0 kann jedoch zu schlechten Ergebnissen führen, wenn die Abfrage in eine Endlosschleife geht.