Ответ 1
Да. Вам нужно префикс имени таблицы "#" (хэш) для создания временных таблиц.
Если вам НЕ нужна таблица позже, продолжайте и создайте ее. Временные таблицы очень похожи на обычные таблицы. Однако он создается в tempdb. Кроме того, он доступен только через текущий сеанс, т.е. Для EG: если другой пользователь пытается получить доступ к созданной вами таблице temp, он не сможет этого сделать.
"##" (double-hash создает глобальную таблицу temp, к которой также могут обращаться другие сеансы.
См. приведенную ниже ссылку на Основы временных таблиц: http://www.codeproject.com/Articles/42553/Quick-Overview-Temporary-Tables-in-SQL-Server-2005
Если содержимое вашей таблицы меньше 5000 строк и НЕ содержит типы данных, такие как nvarchar (MAX), varbinary (MAX), рассмотрите использование переменных таблицы.
Они являются самыми быстрыми, так как они похожи на любые другие переменные, которые хранятся в ОЗУ. Они также хранятся в tempdb, а не в ОЗУ.
DECLARE @ItemBack1 TABLE
(
column1 int,
column2 int,
someInt int,
someVarChar nvarchar(50)
);
INSERT INTO @ItemBack1
SELECT column1,
column2,
someInt,
someVarChar
FROM table2
WHERE table2.ID = 7;
Дополнительная информация о переменных таблицы: http://odetocode.com/articles/365.aspx