Common Table Expressions

Esta es una
característica de SQL Server se vio por primera vez en la versión 2005 y debo
confesar que  no es de mis favoritas, 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:
 

 

2 comentarios en «Common Table Expressions»

  • el 2014-04-21 a las 20:38
    Enlace permanente

    Que diferencias existe con las tablas temporales (#Tabla), yo hace años que utilizo esas tablas para procesos complejos o con mucha información para generar tablas agrupadas y sumarizadas.

    Respuesta
    • el 2014-04-21 a las 22:55
      Enlace permanente

      En mi punto de vista es mas eficiente las tablas temporales que usas, las common table expressions son para correr querys en memoria y poder asignarles un nombre dentro del query pero no quedan almacenados en ninguna parte por un determinado tiempo como las tablas temporales.

      Respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.