複雑な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
table変数のデータは、後で別のテーブルに挿入/更新するために使用されます(ほとんどの場合、マイナーな更新を使用した同じデータのコピー)。これの目標はSELECT INTO
、適切なテーブルに直接アクセスするよりも、スクリプトを少し読みやすく、カスタマイズしやすくすることです。rowcount
はかなり小さいため、パフォーマンスは問題にならず、必要な場合にのみ手動で実行されます。
...または私がすべて間違っているかどうかを教えてください。