Buenas noches queridos lectores, el día de hoy veremos un tema útil acerca de las tablas temporales.
Las tablas temporales, son tablas que son escritas en la base de datos tempdb, solo permanecen en memoria, mientras la instancia esta activa o se limpia la caché, es importante eliminar las tablas temporales cuando ya no las estemos utilizando para liberar memoria, pues bien comencemos a hacer tablas temporales que es lo que nos gusta y como aprendemos
Generalmente la tabla temporal se utiliza para manipular los datos de una tabla real, pero sin manipular la real, es decir, se copia la información de una tabla real a una temporal y se manipulan los datos de la temporal, otro ejemplo lo podemos ver en algún ciclo donde utilicemos la tabla temporal, pero vemos los ejemplos
--1.CREAMOS LA BASE DE PRUEBAS
CREATE DATABASE PRUEBAS
GO
--2. USAMOS LA BASE DE PRUEBAS
USE PRUEBAS
GO
--3. CREAMOS LA TABLA FISICA DE
PERSONAS
CREATE TABLE PERSONAS(
ID INT PRIMARY KEY IDENTITY,
NOMBRES VARCHAR(100),
APELLIDOP VARCHAR(100),
APELLIDOM VARCHAR(100))
--4. LLENAMOS LA TABLA
INSERT INTO PERSONAS (NOMBRES, APELLIDOP, APELLIDOM) VALUES ('EMMANUEL', 'URIAS', 'ROBLES')
INSERT INTO PERSONAS (NOMBRES, APELLIDOP, APELLIDOM) VALUES ('LUIS', 'GONZALES', 'HERNANDEZ')
INSERT INTO PERSONAS (NOMBRES, APELLIDOP, APELLIDOM) VALUES ('IVAN', 'VERA', 'RAMIREZ')
Una vez que tenemos nuestra tabla de Prueba llamada Personas con datos, vamos ahora a crear la tabla temporal para manipular los datos de esa tabla, sin afectar los datos de la tabla Personas real
--5. CREAMOS Y LLENAMOS LA TABLA
TEMPORAL
SELECT *
INTO #PERSONAS_TEMP
FROM PERSONAS
go
Las tablas temporales se crean con el símbolo numeral (#) o (gato) seguido del nombre de la tabla, en este caso la tabla se llama #Personas_temp y mediante ese select se va a llenar la tabla temporal con los datos que tenga la tabla Personas
SELECT * FROM PERSONAS
Como vemos, esos son los datos en la tabla Personas, si ejecutamos la misma consulta de select pero a la tabla temporal obtendremos el mismo resultado
SELECT * FROM #PERSONAS_TEMP
- Locales: solo existen en la base de datos donde se creo
- Globales, que estarán disponibles en cualquier base de datos, en este caso la tabla deberá contener dos numerales (##) seguido del nombre de la tabla
SELECT *
INTO ##PERSONAS_TEMP
FROM PERSONAS
go
Ahora desde la base de datos master, daremos select a la tabla temporal global
SELECT * FROM ##PERSONAS_TEMP
Y el resultado que obtendremos es el mismo, como si estuviéramos ejecutando la consulta desde la base de datos de prueba
Es importante eliminar las tablas temporales cuando ya no las usemos, pues es espacio que se queda en memoria
DROP TABLE #PERSONAS_TEMP
GO
DROP TABLE ##PERSONAS_TEMP
Hasta aquí el post, espero que haya sido de su agrado y utilidad. Cualquier cosa pregunten, espero compartan, comenten y por favor den un clic a los anuncios patrocinados.
Saludos
Este blog ha sido eliminado por un administrador de blog.
ResponderBorrarEste blog ha sido eliminado por un administrador de blog.
ResponderBorrar