Sì. È necessario anteporre al nome della tabella "#" (cancelletto) per creare tabelle temporanee.
Se NON hai bisogno del tavolo in un secondo momento, vai avanti e crealo. Le tabelle temporanee sono molto simili alle normali tabelle. Tuttavia, viene creato in tempdb. Inoltre, è accessibile solo tramite la sessione corrente, ad esempio:se un altro utente tenta di accedere alla tabella temporanea creata da te, non sarà in grado di farlo.
"##" (il doppio hash crea una tabella temporanea "Globale" a cui possono accedere anche altre sessioni.
Fare riferimento al collegamento seguente per le nozioni di base sulle tabelle temporanee:http://www.codeproject.com/Articles/42553/Quick-Overview-Temporary-Tables-in-SQL-Server-2005
Se il contenuto della tabella è inferiore a 5000 righe e NON contiene tipi di dati come nvarchar(MAX), varbinary(MAX), considera l'utilizzo di variabili di tabella.
Sono le più veloci in quanto sono come qualsiasi altra variabile memorizzata nella RAM. Sono archiviati anche in tempdb, non nella 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;
Ulteriori informazioni sulle variabili della tabella:http://odetocode.com/articles/365.aspx