Um CTE recursivo, na mão, é uma expressão de CTE que se refere -se. Um CTE recursivo funciona retornando um subconjunto e depois se refere -se até que retorne todos os resultados.
CTEs recursivos são úteis ao consultar conjuntos de dados aninhados/multiníveis ou hierárquicos. Por exemplo, se você possui um componente que contém outros dados e que os dados contêm outros dados aninhados, um CTE recursivo é uma boa maneira de consultar esses dados.
SQL Server Recursive CTE
A seguir, descreve a sintaxe para realizar um CTE recursivo:
Com expressão_name (column_list)Exemplo - Exemplo básico de CTE recursivo
O exemplo a seguir mostra o uso básico do recurso CTE recursivo no SQL Server:
com CTE (n) comoSaída:
n |Exemplo 2 - Usando CTE para calcular o dia da semana.
O exemplo a seguir mostra como usar o CTE recursivo para determinar o número de dias em uma semana.
Com cte_exec (n,A saída resultante é como mostrado:
Conclusão
Este é o básico de trabalhar com CTEs recursivos no SQL Server.