Un CTE recursivo, en la mano, es una expresión de CTE que se hace referencia a sí misma. Un CTE recursivo funciona devolviendo un subconjunto y luego se hace referencia a sí mismo hasta que devuelva todos los resultados.
Los CTE recursivos son útiles al consultar conjuntos de datos anidados/de niveles múltiples o jerárquicos. Por ejemplo, si tiene un componente que contiene otros datos y que los datos contienen otros datos anidados, un CTE recursivo es una buena manera de consultar dichos datos.
SQL Server recursivo CTE
La siguiente muestra la sintaxis para realizar un CTE recursivo:
Con Expression_Name (column_list)Ejemplo - Ejemplo de CTE recursivo básico
El siguiente ejemplo muestra el uso básico de la función CTE recursiva en SQL Server:
con cte (n) comoProducción:
n |Ejemplo 2 - Uso de CTE para calcular el día de la semana.
El siguiente ejemplo muestra cómo usar CTE recursivo para determinar el número de días en una semana.
Con cte_exec (n,La salida resultante es como se muestra:
Conclusión
Estos son los conceptos básicos de trabajar con CTE recursivos en SQL Server.