Vous pouvez créer des variables de table (en mémoire) et deux types différents de table temporaire :
--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)
)
Modifier :
Suite aux commentaires, je pense que cela nécessite une petite clarification.
#table
et ##table
sera toujours dans TempDB.
@Table
les variables seront normalement en mémoire, mais il n'est pas garanti qu'elles le soient. SQL décide en fonction du plan de requête et utilise TempDB si nécessaire.