none
Tablas CTE y tablas Temporales RRS feed

  • Pregunta

  • Alguien que me ilustre no les veo el sentido a las tablas cte y a las tablas temporales, alguien me puede explicar y poner un ejemplo en que casos se utiliza y con que objetivo.

    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Proponer como respuesta"

    Blog
    J.Joaquin

    viernes, 24 de enero de 2014 0:20

Respuestas

  • Son cosas diferentes y el uso tambien.

    Una tabla temporal te permite introducir conjuntos de  datos de consultas que mas adelante en el script o SP utilizarás, esto mejora notablemente el rendimiento y la lectura del codigo, sobre todo en conjunto de resultados que utilizas varias veces en el mismo procedimiento. Solo harás la obtencion de los mismos una vez aunque los uses varias veces despues en la temporal.

    Como son tablas tambien puedes agregar indices y trabajar con ella como si una tabla normal fuera, aunque se alojan en la BBDD Temp del servidor.

    Las CTE son consultas o expresiones TSQL ( common table expression ), lo que haces basicamente es poner nombre a una expresion de consulta SQL, en este caso lo temporal es el nombre de la expresion, basicamente sql al ejecutarlo sustituye el nombre por la instruccion que has creado. Esto crea codigo mucho mas limpio y facil de trabajar. Otra cosa interesante, es que con una expreseion CTE puedes hacer referencias a si misma, creando intrucciones recursivas.

    Yo utilizo frecuentemente ambas cosas, con las dos reduzco notablemente las lineas y el rendimiento de los SP que hago.

    Saludos

    • Marcado como respuesta J. Joaquin miércoles, 29 de enero de 2014 13:52
    viernes, 24 de enero de 2014 7:56