jueves, 27 de febrero de 2014

Common Table Expressions CTE


Esta es una característica de SQL Server se vio por primera vez en la versión 2005 y debo confesar que no fue de mis favoritas hasta que encontré su potencial al momento en que ella se llama así misma (anidamiento), su  ventaja principal es ofrecer mayor legibilidad a las consulta y por supuesto una facilidad en el mantenimiento de las mismas. .

CTE me permite cargar a memoria una consulta o query, darle un nombre para utilizarlo inmediatamente dentro del mismo bach de instrucciones, no queda almacenado como lo hace una vista, función o procedimiento almacenado, es solo de uso temporal, dentro del bach (conjunto) de instrucciones SQL .

Ejemplo:


---CTE Common Table Expression
WITH CTE_ORDENES as ( Select c.companyname, o.orderid,
     o.orderdate, year(o.orderdate) as año,
     month(o.orderdate) as mes
     from customers c inner join orders o
     on c.CustomerID=o.CustomerID)




CREACIÓN DEL CTE

Select companyname, orderid from CTE_ORDENES
 where año=1997 and mes=6

go



USO
DEL CTE

Explicación:




1 comentario: