Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

La ricorsione massima 100 è stata esaurita prima dell'errore di completamento dell'istruzione visualizzato in SQL Query

Puoi limitare il numero di livelli di ricorsione usando il MAXRECURSION suggerimento di opzione come questo:OPTION (MAXRECURSION 0); dove il valore (tra 0 e 32767) specifica il numero di livelli di ricorsione, 0 significa infinito.

Dalla documentazione per CTE:

E la documentazione per i suggerimenti per le query afferma:

Per utilizzare l'istruzione, aggiungi la clausola OPTION dopo la clausola FROM nella query utilizzando il CTE ricorsivo.

Specificare 0 potrebbe portare a cose negative se la query va in un ciclo infinito.