微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)

原文地址:https://www.jb51.cc/mssql/78330.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐