Mam złożone zapytanie SELECT, z którego chciałbym wstawić wszystkie wiersze do zmiennej tabeli, ale T-SQL na to nie pozwala.
W tym samym wierszu nie można używać zmiennej tabeli z zapytaniami SELECT INTO lub INSERT EXEC. http://odetocode.com/Articles/365.aspx
Krótki przykład:
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
Dane w zmiennej tabeli zostaną później wykorzystane do wstawienia / aktualizacji z powrotem do różnych tabel (głównie kopia tych samych danych z niewielkimi aktualizacjami). Celem tego byłoby po prostu uczynienie skryptu nieco bardziej czytelnym i łatwiejszym do dostosowania niż wykonywanie SELECT INTO
bezpośrednio w odpowiednich tabelach. Wydajność nie stanowi problemu, ponieważ rowcount
jest dość mała i jest uruchamiana ręcznie tylko w razie potrzeby.
... lub po prostu powiedz mi, czy robię to wszystko źle.