Lokale midlertidige tabeller (start med #) er begrænset til din session; andre sessioner, selv fra den samme bruger/forbindelsesstreng, kan ikke se dem. Reglerne for levetiden afhænger af, om den lokale midlertidige tabel blev oprettet i en lagret procedure:
- En lokal midlertidig tabel, der er oprettet i en lagret procedure, slettes, når proceduren afsluttes; andre lagrede procedurer eller opkaldsprocessen kan ikke se dem.
- Andre lokale midlertidige tabeller slettes, når sessionen slutter.
Globale midlertidige tabeller (start med ##) deles mellem sessioner. De slettes, når:
- Sessionen, der oprettede dem, slutter
- OG ingen anden session henviser til dem
Denne kommando kan være praktisk til at se, hvilke midlertidige tabeller der findes:
select TABLE_NAME from tempdb.information_schema.tables
Og dette er praktisk at droppe midlertidige tabeller, hvis du ikke er sikker på, at de eksisterer:
if object_id('tempdb..#SoTest') is not null drop table #SoTest
Se denne MSDN-artikel for mere information.