Ho una complessa query SELECT, dalla quale vorrei inserire tutte le righe in una variabile di tabella, ma T-SQL non lo consente.
Sulla stessa linea, non è possibile utilizzare una variabile di tabella con le query SELECT INTO o INSERT EXEC. http://odetocode.com/Articles/365.aspx
Breve esempio:
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
I dati nella variabile tabella verranno successivamente utilizzati per reinserirli / aggiornarli in tabelle diverse (principalmente copia degli stessi dati con aggiornamenti minori). L'obiettivo di questo sarebbe semplicemente rendere lo script un po 'più leggibile e più facilmente personalizzabile rispetto a fare SELECT INTO
direttamente nelle tabelle giuste. Le prestazioni non sono un problema, in quanto rowcount
sono piuttosto piccole e vengono eseguite manualmente solo quando necessario.
... o dimmi solo se sto sbagliando tutto.