Мне было интересно, в чем разница между этими двумя сценариями?MS SQL Временная таблица
SELECT * FROM ##TEMP
и это
SELECT * FROM #TEMP
Мне было интересно, в чем разница между этими двумя сценариями?MS SQL Временная таблица
SELECT * FROM ##TEMP
и это
SELECT * FROM #TEMP
##TEMP
глобальная временная таблица, #TEMP
является локальным.
Локальные временные таблицы видны только их создателям при том же соединении с экземпляром SQL Server, что и при создании или ссылке таблиц. Локальные временные таблицы удаляются после отключения пользователя из экземпляра SQL Server.
Глобальные временные таблицы видны любому пользователю и любому соединению после их создания и удаляются, когда все пользователи, ссылающиеся на таблицу, отключаются от экземпляра SQL Server.
см. documentation.
На самом деле здесь почти такой же вопрос с ответом - Local and global temporary tables in SQL Server.
@dave добавили некоторые пояснения, проверьте ссылку на аналогичный вопрос –
А я вижу ... теперь я знаю ... спасибо! – illumi
Первый (## TEMP) является глобальным - любой пользователь может получить доступ к его контенту, а также выполнять различные сеансы (подумайте о вкладках в SQL Server Management Studio). Другое видно только вам.
##
- это глобальные таблицы, которые видны всем и удаляются, когда все соединения, ссылающиеся на них, закрыты.
#
- это локальные таблицы, которые видны только соединению, которое его создало, и удаляются после отсоединения соединения.
Пожалуйста, скачайте его перед тем, как вы спросите http://stackoverflow.com/questions/2219714/sql-server-tables-what-is-the-difference-between-and –