Warum diese Rekursion nicht aufhören?T-SQL Warum Rekursion nicht stoppen?
DECLARE @T TABLE(id INT)
INSERT INTO @T(id) VALUES (1), (2)
WITH cte AS(
SELECT id, 1 a FROM @T WHERE id = 1
UNION ALL
SELECT T.id, O.id
FROM @T T outer apply(SELECT * FROM cte WHERE cte.id = T.id) O
WHERE O.id IS NULL
)
SELECT * FROM cte
Wenn ich temporäre Tabelle #cte verwenden und rekursiven Teil repeate - nach einigen Iterationen 0 Datensätze sein ...
@sagi ... welches ist [eine bekannte Technik, von Microsoft empfohlen] (https://technet.microsoft.com/en-us/library/ms186243 (v = sql.105) .aspx); Ich nehme an, dass Alex erwartet, dass die Rekursion beendet wird. –