我想更新表格中的底部/最后一行。我已尝试实施此解决方案,但似乎没有正确的语法:
UPDATE TOP(1) @ResultTable SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate) ORDER BY PeriodID DESC
或者
UPDATE TOP(1) @ResultTable SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate) FROM @ResultTable ORDER BY PeriodID DESC
到目前为止,我的工作是:
UPDATE @ResultTable SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate) WHERE PeriodID=(SELECT COUNT(PeriodID) FROM @ResultTable)-1
但这并不总是有效,因为在我的函数中,一些记录被删除,而且我并不总是让 PeriodIDs 增加 1。
;WITH CTE AS ( SELECT TOP 1 * FROM @ResultTable ORDER BY PeriodID DESC ) UPDATE CTE SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)