Resumen: En este tutorial, aprenderá cómo crear tablas temporales de SQL Server y cómo manipularlas de manera efectiva.
Las tablas temporales son tablas que existen temporalmente en SQL Server.
Las tablas temporales son útiles para almacenar los conjuntos de resultados inmediatos a los que se accede varias veces.
crear tablas temporales
SQL Server proporcionó dos formas de crear tablas temporales a través de instruccionesSELECT INTO
yCREATE TABLE
.,
crear tablas temporales usando la instrucción SELECT INTO
la primera forma de crear una tabla temporal es usar la instrucción SELECT INTO
como se muestra a continuación:
Code language: SQL (Structured Query Language) (sql)
El nombre de la tabla temporal comienza con un símbolo hash (#
). Por ejemplo, la siguiente instrucción crea una tabla temporal usando la instrucciónSELECT INTO
:
en este ejemplo, creamos una tabla temporal llamada#trek_products
con dos columnas derivadas de la lista select de la instrucciónSELECT
., La instrucción creó la tabla temporal y rellenó los datos de la tabla production.products
en la tabla temporal.,
una vez que ejecuta la instrucción, puede encontrar el nombre de tabla temporal creado en la base de datos del sistema llamado tempdb
, al que se puede acceder a través de SQL Server Management Studio utilizando la siguiente ruta de acceso bases de datos del sistema > tempdb > tablas temporales como se muestra en la siguiente imagen:
como se puede ver claramente en la imagen, la tabla temporal también consiste en una secuencia de números como un postfijo., Este es un identificador único para la tabla temporal. Debido a que varias conexiones de base de datos pueden crear tablas temporales con el mismo nombre, SQL Server agrega automáticamente este número único al final del nombre de la tabla temporal para diferenciar entre las tablas temporales.
crear tablas temporales usando la instrucción CREATE TABLE
la segunda forma de crear una tabla temporal es usar la instrucción CREATE TABLE
:
Code language: SQL (Structured Query Language) (sql)
Esta instrucción tiene la misma sintaxis que la creación de una tabla normal.,la tabla temporal comienza con un símbolo de hash (#
)
después de crear la tabla temporal, puede insertar datos en esta tabla como una tabla normal:
Por supuesto, puede consultar datos en la sesión actual:
Code language: SQL (Structured Query Language) (sql)
sin embargo, si abre otra conexión y prueba la consulta anterior, obtendrá el siguiente error:
Code language: SQL (Structured Query Language) (sql)
esto se debe a que las tablas temporales solo son accesibles dentro de la sesión que las creó.,
tablas temporales globales
a veces, es posible que desee crear una tabla temporal que sea accesible a través de conexiones. En este caso, puede utilizar tablas temporales globales.
a diferencia de una tabla temporal, el nombre de una tabla temporal global comienza con un símbolo de doble hash (##
).
las siguientes instrucciones crean primero una tabla temporal global llamada ##heller_products
y luego rellenan los datos de la tabla production.products
en esta tabla:
Ahora, puede acceder a la tabla ##heller_products
desde cualquier sesión.,
eliminar tablas temporales
eliminación automática
SQL Server elimina una tabla temporal automáticamente cuando cierra la conexión que la creó.
SQL Server elimina una tabla temporal global una vez que se cierra la conexión que la creó y se completan las consultas sobre esta tabla desde otras conexiones.,
eliminación Manual
desde la conexión en la que se creó la tabla temporal, puede eliminar manualmente la tabla temporal utilizando la instrucción DROP TABLE
:
Code language: SQL (Structured Query Language) (sql)
en este tutorial, ha aprendido sobre las tablas temporales de SQL Server y cómo crearlas y eliminarlas de manera efectiva.