2 つの列 (startTime、endTime) を持つテーブルがあります。これらは dataTime タイプのものです。
このテーブルに行を挿入すると、このテーブルの以前のデータを次のように更新します。
update endTime in the row which has most recent (max) startTime
私は(別のスレッドが教えてくれるように)次のように働きました:
BEGIN
;with T as(
select *, ROW_NUMBER() over (order by startTime desc) RNum
from Order_Status
where OrderID=@orderID
)
update top(1) T set endTime=@startTime
END
しかし、最新ではなく小さな(最も古い)ものを更新しているようです。
右は何ですか