Lokalne tabele tymczasowe (zaczynające się od #) są ograniczone do Twojej sesji; inne sesje, nawet z tego samego użytkownika/ciągu połączenia, nie mogą ich zobaczyć. Reguły okresu istnienia zależą od tego, czy lokalna tabela tymczasowa została utworzona w procedurze składowanej:
- Lokalna tabela tymczasowa utworzona w procedurze składowanej jest usuwana po zakończeniu procedury; inne procedury składowane lub proces wywołujący nie mogą ich zobaczyć.
- Inne lokalne tabele tymczasowe są usuwane po zakończeniu sesji.
Globalne tabele tymczasowe (zaczynające się od ##) są współdzielone między sesjami. Są usuwane, gdy:
- Kończy się sesja, która je utworzyła
- I żadna inna sesja nie odnosi się do nich
To polecenie może być przydatne do sprawdzenia, które tabele tymczasowe istnieją:
select TABLE_NAME from tempdb.information_schema.tables
Jest to przydatne, aby usunąć tymczasowe tabele, jeśli nie masz pewności, czy istnieją:
if object_id('tempdb..#SoTest') is not null drop table #SoTest
Więcej informacji znajdziesz w tym artykule MSDN.