更新するテーブルからいくつかの値を選択し、すぐに更新する必要があります。さらに、更新されたレコードごとに 1 つの新しいレコードをテーブルに挿入する必要があります。レコードを選択して更新するには、次のような構造を使用しています
UPDATE TableA SET SomeField = 1 OUTPUT RecordID FROM TableA WHERE RecordID IN
(
SELECT TOP @Something RecordID FROM TableA
)
UPDATE
ここで、挿入部分として、ステートメントをにラップして、節INSERT INTO SELECT
を利用したいと思います。OUTPUT
ただし、SQLは私が行うと不平を言います
INSERT INTO TableA SELECT ( RecordID , GETDATE() ) FROM
(
UPDATE TableA SET SomeField = 1 OUTPUT RecordID FROM TableA WHERE RecordID IN
(
SELECT TOP @Something RecordID FROM TableA
)
)
OUTPUT
句があっても、すべてを 1 つのステートメントで行うことはできませんか?