我有两个列 (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
但似乎它更新了不是最新的小(最旧)。
请问什么是对的