Anuncios

martes, 31 de enero de 2012

CTE valores recursivos

CTE es un common table expression. Son resultados temporales con la gran ventaja de poder ser recursivas.
Se incluyeron en SQL Server 2005 y su uso es cada vez más frecuente.

Es una mezcla entre vistas, tablas temporales, pero más flexible.

Ejemplo

Este ejemplo genera una tabla con valores del 1 al 10.

declare @inicio int,@fin int

select @inicio = 1, @fin = 10

;WITH contar(cuenta) AS (

SELECT @inicio fecha

UNION ALL

SELECT cuenta=cuenta+1

FROM contar

WHERE cuenta < @fin

)

select cuenta from contar

OPTION (MaxRecursion 0);

Referencias

People who read this post also read :