Получил сложный запрос SELECT, из которого я хотел бы вставить все строки в переменную таблицы, но T-SQL не разрешает его.
В тех же строках вы не можете использовать переменную таблицы с запросами SELECT INTO или INSERT EXEC. http://odetocode.com/Articles/365.aspx
Краткий пример:
declare @userData TABLE(
name varchar(30) NOT NULL,
oldlocation varchar(30) NOT NULL
)
SELECT name, location
INTO @userData
FROM myTable
INNER JOIN otherTable ON ...
WHERE age > 30
Данные в переменной таблицы позже будут использоваться для вставки/обновления в разные таблицы (в основном копирование одних и тех же данных с незначительными обновлениями). Целью этого было бы просто сделать script более читаемым и более легко настраиваемым, чем сделать SELECT INTO
прямо в правые таблицы.
Производительность не является проблемой, так как rowcount
довольно мал и он запускается только вручную, когда это необходимо.
... или просто скажите мне, не делаю ли я все это неправильно.