获取 SQL Server 中最后更新行的标识
本教程将介绍获取 SQL Server 中最后更新行的标识的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。
问题描述
@@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
子句 - 它也可以在 INSERT
和 DELETE
上使用
好了关于获取 SQL Server 中最后更新行的标识的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。