Tablo değişkenine tüm satırları eklemek istediğim karmaşık bir SELECT sorgusu var, ancak T-SQL buna izin vermiyor.
Aynı satırlar boyunca, SELECT INTO veya INSERT EXEC sorgularıyla bir tablo değişkeni kullanamazsınız. http://odetocode.com/Articles/365.aspx
Kısa bir örnek:
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
Tablo değişkenindeki veriler daha sonra farklı tablolara eklemek / güncellemek için kullanılır (çoğunlukla aynı verilerin küçük güncellemelerle kopyası). Bunun amacı, komut dosyasını SELECT INTO
doğrudan doğru tablolara yapmaktan biraz daha okunabilir ve daha kolay özelleştirilebilir hale getirmektir . Performans bir sorun değildir, çünkü rowcount
oldukça küçüktür ve sadece gerektiğinde manuel olarak çalıştırılır.
... ya da sadece her şeyi yanlış yapıp yapmadığımı söyle.