Du kan skapa tabellvariabler (i minnet) och två olika typer av temporära tabeller:
--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)
)
Redigera:
Efter feedback tror jag att detta behöver förtydligas lite.
#table
och ##table
kommer alltid att finnas i TempDB.
@Table
variabler kommer normalt att finnas i minnet, men det är inte garanterat att vara det. SQL bestämmer baserat på frågeplanen och använder TempDB om det behövs.