Локальные временные таблицы (начинаются с #) ограничены вашей сессией; другие сеансы, даже из той же строки пользователя / соединения, не могут их видеть. Правила времени жизни зависят от того, была ли локальная временная таблица создана в хранимой процедуре:
- Локальная временная таблица, созданная в хранимой процедуре, удаляется после завершения процедуры; другие хранимые процедуры или вызывающий процесс не могут их видеть.
- Другие локальные временные таблицы удаляются по окончании сеанса.
Глобальные временные таблицы (начинаются с ##) распределяются между сеансами. Они сбрасываются, когда:
- Сессия, которая их создала, заканчивается
- И никакой другой сеанс не ссылается на них
Эта команда может быть полезна для просмотра существующих временных таблиц:
select TABLE_NAME from tempdb.information_schema.tables
И это удобно для удаления временных таблиц, если вы не уверены, что они существуют:
if object_id('tempdb..#SoTest') is not null drop table #SoTest
См. Эту статью MSDN для получения дополнительной информации.