Отримав складний 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
Дані в змінній таблиці пізніше будуть використані для вставки / оновлення їх назад у різні таблиці (переважно копіювання одних і тих же даних з незначними оновленнями). Мета цього полягала б у тому, щоб просто зробити сценарій трохи читабельнішим та легше настроюваним, ніж робити SELECT INTO
безпосередньо в потрібні таблиці. Продуктивність не є проблемою, оскільки rowcount
вона досить невелика, і вона працює лише вручну, коли це необхідно.
... або просто скажи мені, чи я все роблю неправильно.