Lokala temporära tabeller (börja med #) är begränsade till din session; andra sessioner, även från samma användare/anslutningssträng, kan inte se dem. Reglerna för livslängden beror på om den lokala temporära tabellen skapades i en lagrad procedur:
- En lokal temporär tabell som skapas i en lagrad procedur tas bort när proceduren avslutas; andra lagrade procedurer, eller anropsprocessen, kan inte se dem.
- Andra lokala temporära tabeller tas bort när sessionen avslutas.
Globala temporära tabeller (börja med ##) delas mellan sessioner. De tas bort när:
- Sessionen som skapade dem avslutas
- OCH ingen annan session hänvisar till dem
Detta kommando kan vara praktiskt för att se vilka temporära tabeller som finns:
select TABLE_NAME from tempdb.information_schema.tables
Och det här är praktiskt för att ta bort tillfälliga tabeller om du inte är säker på att de finns:
if object_id('tempdb..#SoTest') is not null drop table #SoTest
Se den här MSDN-artikeln för mer information.