次のクエリがあります。
UPDATE TOP (@MaxRecords) Messages
SET status = 'P'
OUTPUT inserted.*
FROM Messages
where Status = 'N'
and InsertDate >= GETDATE()
メッセージ テーブルには優先度の列があり、最初に優先度の高いメッセージを選択したいと考えています。だから私はORDER BYが必要です。ただし、出力をソートする必要はありませんが、更新を実行する前にデータをソートする必要があります。
私の知る限り、ORDER BY を UPDATE ステートメントに追加することはできません。他のアイデアはありますか?