Ja. Du måste prefixa tabellnamnet med "#" (hash) för att skapa tillfälliga tabeller.
Om du INTE behöver tabellen senare, fortsätt och skapa den. Tillfälliga tabeller är mycket som vanliga tabeller. Den skapas dock i tempdb. Dessutom är den bara tillgänglig via den aktuella sessionen, dvs. för EG:om en annan användare försöker komma åt temptabellen som skapats av dig, kommer han inte att kunna göra det.
"##" (dubbelhash skapar "Global" temporär tabell som också kan nås av andra sessioner.
Se länken nedan för grunderna för tillfälliga tabeller:http://www.codeproject.com/Articles/42553/Quick-Overview-Temporary-Tables-in-SQL-Server-2005
Om innehållet i din tabell är mindre än 5000 rader och INTE innehåller datatyper som nvarchar(MAX), varbinary(MAX), överväg att använda tabellvariabler.
De är snabbast eftersom de är precis som alla andra variabler som är lagrade i RAM-minnet. De lagras också i tempdb, inte i 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;
Mer information om tabellvariabler:http://odetocode.com/articles/365.aspx