Las tablas temporales en SQL Server almacenan datos temporalmente. Puede realizar las mismas operaciones, por ejemplo SELECCIONAR و INSERT و BORRAR و ACTUALIZAR — en una tabla temporal como lo haría con una tabla SQL normal.
Las tablas temporales están en una base de datos. tempdb Es visible sólo durante la duración de la conexión. Cuando finaliza la conexión, SQL Server elimina la tabla temporal. También puede eliminarlo explícitamente en cualquier momento. Verificar Cómo instalar y configurar Microsoft SQL Server en Ubuntu.
Tipos de tablas temporales de SQL Server
Hay dos tipos de tablas temporales de SQL Server: locales y globales.
Tabla temporal local
La tabla temporal local solo es visible para la conexión que la creó. Cuando finaliza esta conexión, o el usuario se desconecta de la instancia de SQL Server, la tabla temporal local se elimina automáticamente.
Para crear una tabla temporal local, use un solo símbolo de almohadilla (#) al comienzo del nombre de la tabla con una cláusula Crear mesa. Aquí está la sintaxis adecuada.
CREATE TABLE #TempTable ( Column1 INT, Column2 VARCHAR(50) );
Por ejemplo, el siguiente código crea una tabla temporal llamada Cliente Temporal Con un nombre y un campo de correo electrónico.
CREATE TABLE #TempCustomer ( ID int NOT NULL PRIMARY KEY FullName VARCHAR(50), Email VARCHAR(50) );
Horario temporal general
El horario temporal global es un horario temporal que es visible para todas las conexiones y usuarios. SQL Server lo soltará cuando se desconecte con todas las conexiones y usuarios que apuntan a la tabla.
Para crear una tabla temporal global, prefije el nombre de la tabla con un símbolo de almohadilla doble (##) y use el Crear mesa.
CREATE TABLE ##TempTable ( Column1 INT, Column2 VARCHAR(50) );
El siguiente código crea una tabla temporal global llamada Cliente Temporal.
CREATE TABLE ##TempCustomer ( ID int NOT NULL PRIMARY KEY FullName VARCHAR(50), Email VARCHAR(50) );
Este código es similar al ejemplo de la tabla temporal local, solo que con dos códigos hash en lugar de uno. Ahora puede usar comandos SQL estándar para agregar o manipular datos en la tabla temporal.
Cómo eliminar una tabla temporal
Una instancia de SQL Server elimina automáticamente una tabla temporal cuando todos los usuarios que apuntan a ella están desconectados. Como práctica recomendada, siempre debe eliminar explícitamente las tablas temporales para liberar la memoria tempdb.
Para eliminar una tabla temporal, use una instrucción TABLA DE GOTAS SI EXISTE seguido del nombre de la tabla temporal.
Así es como se elimina la tabla #TempCustomer:
DROP TABLE IF EXISTS #TempCustomer
Use el mismo código pero cambie el nombre de la tabla para eliminar una tabla temporal global.
DROP TABLE IF EXISTS ##TempCustomer
Usos típicos de las tablas temporales de SQL
Las tablas temporales son útiles cuando necesita almacenar resultados intermedios para consultas complejas que necesitan procesamiento adicional. Por ejemplo, al generar informes, es posible que deba crear tablas temporales para almacenar los resultados de las consultas de varias bases de datos. A continuación, puede generar el informe final ejecutando la consulta que se almacena en las tablas temporales.
Otro escenario en el que las tablas temporales pueden ser útiles es cuando necesita consultar los resultados de una tabla para ejecutar otra consulta. Puede almacenar los resultados en una tabla temporal y luego hacer referencia a ellos en la nueva consulta. Esencialmente, está utilizando la tabla temporal como una mesa de trabajo o un almacén temporal para almacenar los datos que necesita para realizar una tarea específica.
Uso de tablas temporales en SQL Server
Puede usar tablas temporales de SQL Server para almacenar y manipular datos temporalmente. Hay dos tipos de tablas temporales, locales y globales. La tabla temporal local es visible para la conexión a través de la cual se creó, mientras que la tabla temporal global es visible para todas las conexiones.
Las tablas temporales se destruyen automáticamente cuando se desconecta la instancia del servidor. Sin embargo, para preservar la memoria, siempre debe tirarlo después de que haya terminado de usarlo. Puedes ver ahora Cómo instalar Azure Data Studio en Linux para administrar servidores SQL.