Oui. Vous devez préfixer le nom de la table avec "#" (dièse) pour créer des tables temporaires.
Si vous n'avez PAS besoin de la table plus tard, allez-y et créez-la. Les tables temporaires ressemblent beaucoup aux tables normales. Cependant, elles sont créées dans tempdb. De plus, elles ne sont accessibles que par la session en cours. Par exemple, si un autre utilisateur essaie d'accéder à la table temporaire que vous avez créée, il ne pourra pas le faire.
"##" (le double hachage crée une table temporaire "globale" à laquelle d'autres sessions peuvent également accéder.
Consultez le lien ci-dessous pour connaître les principes de base des tables temporaires : http://www.codeproject.com/Articles/42553/Quick-Overview-Temporary-Tables-in-SQL-Server-2005
Si le contenu de votre table est inférieur à 5000 lignes et ne contient PAS de types de données tels que nvarchar(MAX), varbinary(MAX), envisagez d'utiliser des variables de table.
Ils sont les plus rapides car ils sont comme toutes les autres variables qui sont stockées dans la RAM. Ils sont également stockés dans tempdb, et non dans la 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;
Plus d'informations sur les variables de table : http://odetocode.com/articles/365.aspx