Możesz tworzyć zmienne tabeli (w pamięci) i dwa różne typy tabel tymczasowych:
--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)
)
Edytuj:
Po otrzymaniu opinii myślę, że wymaga to trochę wyjaśnienia.
#table
i ##table
zawsze będzie w TempDB.
@Table
zmienne będą normalnie znajdować się w pamięci, ale nie ma gwarancji, że tak będzie. SQL decyduje na podstawie planu zapytania i korzysta z bazy danych TempDB, jeśli zajdzie taka potrzeba.