ホームページ >データベース >mysql チュートリアル >SQL Server の一時テーブルまたはテーブル変数に複数のテーブルのデータを効率的に挿入するにはどうすればよいですか?
MERGE を使用した一時テーブルまたはテーブル変数への挿入
SQL Server では、OUTPUT 句で複数のテーブルからデータを取得できないため、挿入操作中に特定の値をキャプチャします。ただし、MERGE ステートメントは、この問題の解決策を提供します。
MERGE を使用して一時テーブルまたはテーブル変数にデータを挿入するには:
例を次に示します。
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 ステートメントは一時テーブル @MyTableVar にInserted.ID 値と Table2.ID 値。 OUTPUT 句は、これら 2 つの列を一時テーブルに出力することを指定します。
この方法を使用すると、SQL Server の MERGE ステートメントの機能を使用して、挿入操作中にさまざまなテーブルからデータを効率的にキャプチャして操作できます。
以上がSQL Server の一時テーブルまたはテーブル変数に複数のテーブルのデータを効率的に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。