Puede crear variables de tabla (en la memoria) y dos tipos diferentes de tabla temporal:
--visible only to me, in memory (SQL 2000 and above only)
declare @test table (
Field1 int,
Field2 nvarchar(50)
);
--visible only to me, stored in tempDB
create table #test (
Field1 int,
Field2 nvarchar(50)
)
--visible to everyone, stored in tempDB
create table ##test (
Field1 int,
Field2 nvarchar(50)
)
Editar:
Después de los comentarios, creo que esto necesita una pequeña aclaración.
#table
y ##table
siempre estará en TempDB.
@Table
las variables normalmente estarán en la memoria, pero no se garantiza que lo estén. SQL decide según el plan de consulta y usa TempDB si es necesario.