2010-12-08 8 views

Respuesta

31

También pueden hacer lo siguiente:

CREATE TABLE #TEMPTABLE 
(
    Column1 type1, 
    Column2 type2, 
    Column3 type3 
) 

INSERT INTO #TEMPTABLE 
SELECT ... 

SELECT * 
FROM #TEMPTABLE ... 

DROP TABLE #TEMPTABLE 
+2

¿Puedes aclarar si esta tabla temporal está realmente ubicada en la unidad de disco duro o solo es una proyección en tiempo de ejecución? ¿Y qué pasaría si no borro esta tabla temporal? –

+3

La tabla está en una base de datos temporal y solo es visible para la conexión que la creó. Una vez que la conexión se ha ido o el procedimiento almacenado finaliza, la tabla temporal desaparece. – VenerableAgents

40
select * 
into #TempTable 
from SomeTale 

select * 
from #TempTable 
+4

El # delante de #temptable indican que es una tabla temporal. –

+1

¿Cuándo se eliminará esta tabla? –

+4

#TempTable dura dentro de la sesión que lo crea. Una vez que la sesión se cierra, se va. También solo se puede acceder dentro de la misma sesión. Ninguna otra sesión puede ver y acceder a ella. Hay otro tipo de tabla temporal ## TempTable (aviso ##) que tiene un alcance global. Se puede ver y acceder desde otras sesiones, por lo tanto, ## TempTable es único (nadie puede crear otro con el mismo nombre). El servidor se reinicia, ## TempTable se ha ido. –

0

En Sqlite:

CREATE TABLE T AS 
SELECT * FROM ...; 
-- Use temporary table `T` 
DROP TABLE T; 
Cuestiones relacionadas