MERGE を使用して SQL Server の INSERT 操作中に複数のテーブルからデータをキャプチャするにはどうすればよいですか?
SQL Server で挿入... マージ... 選択
SQL Server では、INSERT INTO...SELECT ステートメントを使用できます。 SELECT クエリからターゲット テーブルにデータを挿入できます。ただし、SELECT クエリに複数のテーブルのデータが含まれる場合、OUTPUT 句は異なるテーブル間でデータをキャプチャできません。
MERGE の紹介
この問題を解決するには、 MERGE ステートメント。 MERGE は、INSERT、UPDATE、および DELETE 操作を 1 つのステートメントに結合します。これにより、特定の基準に基づいてターゲット行に対して条件付きでアクションを実行できます。
出力データに MERGE を使用する
挿入テーブルとソース テーブルの両方からデータをキャプチャするには、次のことができます。 MERGE ステートメント内で OUTPUT 句を使用します。次の例は、複数のテーブルからデータを挿入し、Inserted.ID と Table2.ID を出力する方法を示しています。
MERGE INTO Table3 USING ( SELECT null AS col2, 110 AS col3, Table1.ID AS col4, Table2.Column2 AS col5, Table2.ID AS col6 FROM Table1 JOIN Table1Table2Link ON Table1.ID = Table1Table2Link.Column1 JOIN Table2 ON Table1Table2Link.Column2 = Table2.ID ) AS s ON 1 = 0 -- Always not matched WHEN NOT MATCHED THEN INSERT (Column2, Column3, Column4, Column5) VALUES (s.col2, s.col3, s.col4, s.col5) OUTPUT Inserted.ID, s.col6 INTO @MyTableVar (insertedId, Table2Id);
この MERGE ステートメント内:
- USING 句は、 SELECT クエリからのソース データ。
- ON 句は、MERGE 操作が常に NOT MATCHED 条件になることを指定します。 (つまり、決して更新または削除しません)。
- WHEN NOT MATCHED 句は、ソース テーブルからデータを Table3 に挿入する INSERT 操作を定義します。
- OUTPUT 句は、テーブル 3 から Inserted.ID を取得します。ソーステーブル (s.col6) からターゲットテーブル (Table3) と Table2.ID を取得し、テーブル変数に格納します。 @MyTableVar.
以上がMERGE を使用して SQL Server の INSERT 操作中に複数のテーブルからデータをキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか?
