В чем разница между именами таблиц "#mytable" и "mytable" в TSQL? Я вижу, что имена таблиц начинаются с "#" во множестве пользовательских процедур.
Что означает "#" перед именем таблицы в TSQL?
Ответ 1
Это локальные временные таблицы, которые являются частными для процесса, который их создал.
Ответ 2
#mytable - временная таблица, где mytable - это конкретная таблица.
Подробнее о Временные таблицы в SQL Server.
Они чаще всего используются для предоставления рабочей области промежуточных результатов при обработке данных в партии или процедуре. Они есть также используется для передачи таблицы из табличной функции, для прохождения табличные данные между хранимыми процедурами или, в последнее время, в формы табличных параметров, отправлять целые таблицы только для чтения из приложений к процедурам SQL Server или переходить только на чтение таблицы как параметры. Как только они закончили с их использованием, они отбрасываются автоматически.
Временные таблицы имеют разные вкусы, включая, среди прочего, локальные временные таблицы (начиная С#), глобальные временные таблицы (начиная С##), постоянных временных таблиц (с префиксом TempDB..) и табличные переменные (начиная с (@)