U kunt tabelvariabelen (in het geheugen) en twee verschillende soorten tijdelijke tabellen maken:
--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)
)
Bewerken:
Na feedback denk ik dat dit een beetje verduidelijking nodig heeft.
#table
en ##table
zal altijd in TempDB zijn.
@Table
variabelen bevinden zich normaal gesproken in het geheugen, maar dit is niet gegarandeerd. SQL beslist op basis van het queryplan en gebruikt indien nodig TempDB.