Obtuve una consulta SELECT compleja, desde la cual me gustaría insertar todas las filas en una variable de tabla, pero T-SQL no lo permite.
En la misma línea, no puede usar una variable de tabla con las consultas SELECT INTO o INSERT EXEC. http://odetocode.com/Articles/365.aspx
Breve ejemplo:
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
Los datos en la variable de la tabla se usarían luego para insertar / actualizar nuevamente en diferentes tablas (principalmente copia de los mismos datos con actualizaciones menores). El objetivo de esto sería simplemente hacer que el script sea un poco más legible y más fácilmente personalizable que hacerlo SELECT INTO
directamente en las tablas correctas. El rendimiento no es un problema, ya que rowcount
es bastante pequeño y solo se ejecuta manualmente cuando es necesario.
... o simplemente dime si lo estoy haciendo todo mal.