tsql – T-SQL如何仅更新底部/最后一行?

前端之家收集整理的这篇文章主要介绍了tsql – T-SQL如何仅更新底部/最后一行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想更新表格的底部/最后一行.我已经尝试实现 this解决方案,但似乎没有任何正确的语法:
UPDATE TOP(1) @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
ORDER BY PeriodID DESC

要么

UPDATE TOP(1) @ResultTable
SET PeriodLastDate=DATEADD(DAY,PeriodLastDate)
FROM @ResultTable
ORDER BY PeriodID DESC

我到现在所做的工作是:

UPDATE @ResultTable
SET PeriodLastDate=DATEADD(DAY,PeriodLastDate)
WHERE PeriodID=(SELECT COUNT(PeriodID) FROM @ResultTable)-1

但这并不总是有效,因为在我的函数中,一些记录被删除,而且我并不总是将PeriodID增加1.

解决方法

;WITH CTE AS 
( 
SELECT TOP 1 * 
FROM @ResultTable
ORDER BY PeriodID DESC
) 
UPDATE CTE SET PeriodLastDate=DATEADD(DAY,PeriodLastDate)

猜你在找的MsSQL相关文章