MS SQL Временная таблица

Мне было интересно, в чем разница между этими двумя сценариями?

SELECT * FROM ##TEMP

и это

SELECT * FROM #TEMP

3 ответа

Решение

##TEMP глобальная временная таблица, #TEMP местный

Локальные временные таблицы видны только их создателям при том же подключении к экземпляру SQL Server, что и при первом создании или обращении к таблицам. Локальные временные таблицы удаляются после того, как пользователь отключается от экземпляра SQL Server.

Глобальные временные таблицы видны любому пользователю и любому соединению после их создания и удаляются, когда все пользователи, ссылающиеся на таблицу, отключаются от экземпляра SQL Server.

смотри документацию.

На самом деле здесь почти тот же вопрос с ответом - локальные и глобальные временные таблицы в SQL Server.

## являются глобальными таблицами, которые видны всем и удаляются, когда все соединения, на которые они ссылаются, закрыты.

# являются локальными таблицами, которые видны только соединению, которое их создало, и удаляются после того, как это соединение было отключено.

Первый (##TEMP) является глобальным - любой может получить доступ к его содержимому, а также вы можете из разных сессий (например, вкладки в SQL Server Management Studio). Другой виден только вами.

Другие вопросы по тегам