Jul 27

Tablas temporales en #sqlserver

Estoy con artículos que me los salte en su tiempo pero es bueno tener el conocimiento de que se puede hacer.

Vamos con un tema teórico y sencillito, no voy a profundizar mucho por que ms adelante lo veremos en un ejercicio práctico.

Una tabla temporal es una tabla creada por un determinado proceso y desaparece cuando termina éste.

Pueden ser globales o locales. Las locales son visibles sólo en la sesión actual y las tablas temporales globales son visibles en todas Por ejémpl0,  una tabla temporal local creada en un procedimiento almacenado se quita automáticamente cuando se completa el procedimiento almacenado. Y la tabla temporal global desaparece al finalizar la última instrucción T-SQL que estuviera haciendo referencia activamente a la tabla cuando finalizó la sesión que la creó.

Para indicar que la tabla que queremos crear es temporal añadimos  el prefijo #  para las locales y el prefijo ##  para globales.

Su formato:

    CREATE TABLE #nombretabla ….;

o

    CREATE TABLE ##nombretabla ….;

Hay que tener en cuenta que no se pueden crear particiones en las tablas temporales

Se recomienda utilizar mejor las variables de tabla que las  tablas temporales. Las tablas temporales son útiles para  crear en ellas índices de forma explícita o bien cuando los valores de tabla deben  ser visibles en varios procedimientos almacenados o funciones. En general, las variables de tabla  contribuyen a que las consultas sea más eficaz.

Ya veremos si las utilizamos.

images (1)