获取 SQL Server 中最后更新行的标识

本教程将介绍获取 SQL Server 中最后更新行的标识的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

获取 SQL Server 中最后更新行的标识 教程 第1张

问题描述

@@IDENTITY返回最后一行插入的ID,我要检索最后一行更新的ID.

这是我的查询:

UPDATE [Table] 
SET Active = 1, 
 Subscribed = 1, 
 RenewDate = GETDATE(),
 EndDate = DATEADD(mm,1,getdate()),
WHERE SC = @SC
  AND Service = @Ser

怎么获取此更新行的 ID?

该列名为 TableID,我没有在查询中使用它.

推荐答案

因为没有插入ID,所以无法检索ID.....

但你可以:

    只需使用与 UPDATE 中相同的条件查询表:

    just query the table using the same criteria as in your UPDATE:

SELECT TableID 
FROM dbo.Table
WHERE SC = @SC AND Service = @Ser  -- just use the same criteria

使用 UPDATE 上的 OUTPUT 子句获取该信息:

UPDATE [Table] 
SET Active = 1, 
 Subscribed = 1, 
 RenewDate = GETDATE(),
 EndDate = DATEADD(mm,1,getdate())
OUTPUT Inserted.TableId -- output the TableID from the table
WHERE SC = @SC AND Service = @Ser

详细了解 Technet 上的 OUTPUT 子句 - 它也可以在 INSERTDELETE 上使用

好了关于获取 SQL Server 中最后更新行的标识的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。