Si. Debe anteponer el nombre de la tabla con "#" (hash) para crear tablas temporales.
Si NO necesita la tabla más adelante, continúe y créela. Las tablas temporales se parecen mucho a las tablas normales. Sin embargo, se crea en tempdb. Además, solo es accesible a través de la sesión actual, es decir, para EG: si otro usuario intenta acceder a la tabla temporal creada por usted, no podrá hacerlo.
"##" (el doble hash crea una tabla temporal "Global" a la que también pueden acceder otras sesiones.
Consulte el enlace a continuación para conocer los conceptos básicos de las tablas temporales:
http://www.codeproject.com/Articles/42553/Quick-Overview-Temporary-Tables-in-SQL-Server-2005
Si el contenido de su tabla es menor a 5000 filas y NO contiene tipos de datos como nvarchar (MAX), varbinary (MAX), considere usar Variables de tabla.
Son las más rápidas, ya que son como cualquier otra variable almacenada en la RAM. También se almacenan en tempdb, no en RAM .
DECLARE @ItemBack1 TABLE
(
column1 int,
column2 int,
someInt int,
someVarChar nvarchar(50)
);
INSERT INTO @ItemBack1
SELECT column1,
column2,
someInt,
someVarChar
FROM table2
WHERE table2.ID = 7;
Más información sobre las variables de la tabla:
http://odetocode.com/articles/365.aspx