Мы знаем, что в SQL Server создание таблицы с #
означает, что «local temp table» и ##
означает «глобальная временная таблица».Таблица Temp с ### (тройным) или большим количеством хэшей
Но когда я создаю таблицу, как показано ниже:
create table ###MyTable(IntColumn int, ValueColumn varchar(100))
Является ли эта таблица локальной или глобальной временной таблицы? Как я могу проверить его? Когда я попытался select
его помощью:
Select * from #MyTable -- SQL said it doesn't exists
Select * from ##MyTable -- SQL said it doesn't exists
Select * from ###MyTable -- I get the output
Если третий случай, правда, не значит, что это общая таблица с именем ###MyTable
? И разве я не увижу эту таблицу в моем проводнике таблиц SSMS, как все остальные физические таблицы?
Что произойдет, если я начну добавлять несколько # (хэшей) до имени моей таблицы?
так что ## хэши или более того, что внутри таблицы имя означает глобальные таблицы temp ??? –
@Ganesh_Devlekar - да, и это должно быть в начале –