Wie bekomme ich Rekurs in der Abfrage? Was ist der Gebrauch von "Mit"? Wie funktioniert es intern?

Warum ist diese Abfrage mit Fehler beendet?

;with tempData as ( select 32 as col1, char(32) as col2 union all select col1+1, char(col1+1) from tempData ) select * from tempData 

Rekursion braucht eine abschließende Bedingung. Beispielsweise

 ;with tempData as ( select 32 as col1, char(32) as col2 union all select col1+1, char(col1+1) from tempData where col1 < 255 ) select * from tempData option (maxrecursion 223) 

In Bezug auf die Frage im Titel darüber, wie es intern funktioniert, sehen Sie diese Antwort .

Du hast eine Endlosschleife: wo soll es enden?