Insertar SQL Server en la tabla TEMP

Insertar SQL Server en la tabla TEMP

Tablas temporales o tablas TEMP, consulte las tablas creadas por un usuario de SQL Server con el único propósito de almacenar datos temporalmente. Las tablas TEMP son útiles para trabajar con subconjuntos de datos que requerirían montículos de consultas especificadas para filtrar.

Esta guía discutirá cómo trabajar con tablas temporales en SQL Server. Comenzaremos en lo básico y aprenderemos cómo crear tablas temporales, usar tablas temporales globales, insertar datos en tablas temporales y soltar tablas TEMP.

SQL Server crea tablas TEMP

En SQL Server, hay dos métodos principales para crear tablas TEMP:

  1. Uso de la instrucción SQL SELECT.
  2. Uso de la instrucción Crear tabla.

Veamos cada uno de los métodos anteriores.

Uso de la instrucción SQL SELECT

Puedes usar el Seleccionar Declaración para crear una tabla temporal e insertar datos de una consulta definida.

La sintaxis para crear una tabla TEMP con la instrucción SELECT es como se muestra:

Seleccione column_list en #tempuary_table_name de table_name donde condicional_expression;

Usamos la instrucción SELECT seguido del nombre de la tabla temporal. El nombre de una tabla TEMP en SQL Server comienza con un signo #.

Considere el ejemplo a continuación que crea una tabla TEMP utilizando varias columnas de una tabla existente:

Usar salesDB;
Seleccione * en #sales_temp de ventas donde cantidad> 5;

La consulta anterior debe seleccionar los registros coincidentes e insertarlos en la tabla temporal especificada.

SQL Server almacena tablas TEMP en la base de datos TEMPDB. Esta es una base de datos del sistema creada automáticamente por SQL Server.

En SQL Server Management Studio, puede ver la tabla temporal creada anteriormente navegando: Bases de datos -> bases de datos del sistema -> TEMPDB -> Tablas temporales:

Cada tabla temporal contiene un identificador único postfix, que incluye una secuencia de valores numéricos. Esto se debe a que varias conexiones pueden crear tablas temporales con nombres similares. SQL Server agrega un valor numérico único al final del nombre para evitar conflictos.

Usando la consulta Crear tabla

El segundo método que podemos usar para crear una tabla temporal es el SQL Crear tabla declaración. Este método no es muy diferente al de una tabla normal. Sin embargo, el nombre de la tabla comienza con un signo de libra #.

Por ejemplo:

Crear tabla #my_temp_table (
ID int no identidad nula (1,1) clave principal,
Nombre Varchar (50)
);

La consulta anterior creará una tabla temporal con el nombre especificado.

Una vez que tenemos la tabla TEMP creada, podemos insertar datos como una tabla normal como se muestra en la consulta a continuación:

Usar tempdb;
Insertar en #my_temp_table (nombre)
Valores ('mysql'),
('PostgreSQL'),
('MongoDB'),
('Sqlite');

Si necesita almacenar los registros en la base de datos TEMP, puede usar la instrucción SELECT como se muestra:

Seleccionar * de #my_temp_table;

El ejemplo de salida es como se muestra:

Tablas de temperatura de caída de SQL Server

Una vez que haya creado una tabla de temperatura, probablemente desee eliminarla después de su uso. En SQL Server, hay dos métodos para dejar caer una tabla temporal:

Conexión de la conexión

SQL Server eliminará automáticamente todas las tablas temporales cuando finalice la conexión que las creó.

Como se mencionó, una tabla de temperatura solo está disponible en la conexión que lo crea. Por lo tanto, una vez que la conexión está cerrada, el servidor SQL elimina las tablas y libera los recursos para otras conexiones.

Declaración de caída

El segundo método que puede usar para eliminar una tabla de temperatura es la consulta de caída SQL. Por ejemplo, para eliminar el my_temp_table creado en las consultas anteriores:

Tabla de caída #my_temp_table;

Tablas de temperatura global

Una tabla TEMP solo está disponible para la conexión creada por defecto. Sin embargo, puede crear una tabla disponible en todas las conexiones en el servidor. Estos se conocen como tablas temporales globales.

Para crear una temperatura global en SQL Server, use señales de doble libra (##).

Por ejemplo:

Crear tabla ## my_temp_table (
ID int no identidad nula (1,1) clave principal,
Nombre Varchar (50)
);
Usar tempdb;
Insertar en ## my_temp_table (nombre)
Valores ('mysql'),
('PostgreSQL'),
('MongoDB'),
('Sqlite');

A diferencia de una sola tabla de sesión, el servidor SQL elimina las tablas de temperatura global después de que se cierre la conexión creada, y todas las demás conexiones están cerradas.

Para concluir

En este artículo, entendió cómo trabajar con las tablas temporales en SQL Server. Las tablas de temperatura pueden ser beneficiosas cuando se usan de manera eficiente.

Gracias por leer!