[解決済み] T-SQLでテーブル変数をSELECT INTOする
2022-03-22 02:16:46
質問
複雑な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
テーブル変数のデータは、後で別のテーブルに挿入/更新するために使用されます(ほとんどは、マイナーな更新を伴う同じデータのコピーです)。この目的は、スクリプトをもう少し読みやすくすること、そして
SELECT INTO
を直接正しいテーブルに挿入してください。
パフォーマンスは問題ではありません。
rowcount
はかなり小さく、必要なときだけ手動で実行されます。
...あるいは、私が間違っているのなら教えてください。
解決方法は?
こんな感じで試してみてください。
DECLARE @userData TABLE(
name varchar(30) NOT NULL,
oldlocation varchar(30) NOT NULL
);
INSERT INTO @userData (name, oldlocation)
SELECT name, location FROM myTable
INNER JOIN otherTable ON ...
WHERE age > 30;
関連
-
[解決済み] SQL Agent を使用して SSIS パッケージを実行する際の問題 - "DTSER_FAILURE(1)" で失敗します。
-
[解決済み] EF: テキストデータ型は比較できないため、DISTINCT として選択できません。
-
[解決済み] SQLのReplace関数内の正規表現?
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較
-
[解決済み] SQLのSELECTでIF...THENを実行するにはどうすればよいですか?
-
[解決済み] SQL Server にテーブルが存在するかどうかを確認する
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] オブジェクト 'Users'、データベース 'XXX'、スキーマ 'dbo' で SELECT 権限が拒否されました。
-
[解決済み] 更新時のSqlエラー : UPDATE ステートメントが FOREIGN KEY 制約と競合しています。
-
[解決済み] TEXTIMAGE_ON [PRIMARY]とは何ですか?
-
[解決済み] try catch ブロックで @@trancount > 0 を確認する必要があるのはどのような場合ですか?
-
[解決済み] 等値演算で "SQL_Latin1_General_CP1_CI_AS" と "Latin1_General_CI_AS" の照合の競合を解決できない
-
[解決済み] SQL Server の更新コマンドでエラー - "現在のコマンドで深刻なエラーが発生しました".
-
[解決済み] SSIS - データ損失の可能性があるため、値を変換することはできません。
-
[解決済み] SQL ServerでRegExを使用する
-
[解決済み] SQLサーバーを使用して文字列を切り詰める方法
-
[解決済み] スカラー変数を宣言する必要があります。