Hel*_*Out 12 sql-server stored-procedures sql-update
@@IDENTITY返回插入ID的最后一行,我想检索更新的最后一行的ID .
这是我的查询:
UPDATE [Table]
SET Active = 1,
Subscribed = 1,
RenewDate = GETDATE(),
EndDate = DATEADD(mm,1,getdate()),
WHERE SC = @SC
AND Service = @Ser
Run Code Online (Sandbox Code Playgroud)
如何获取此更新行的ID?
该列被调用TableID,我没有在查询中使用它.
mar*_*c_s 15
由于没有插入ID,您无法检索ID .....
但是你可以:
只需使用与您的相同标准查询表UPDATE:
SELECT TableID
FROM dbo.Table
WHERE SC = @SC AND Service = @Ser -- just use the same criteria
Run Code Online (Sandbox Code Playgroud)使用该OUTPUT条款UPDATE来获取该信息:
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
Run Code Online (Sandbox Code Playgroud)了解更多有关OUTPUT条款 Technet上-它可以被用来INSERT和DELETE也
你可以尝试使用这个:
OUTPUT INSERTED.TableID
Run Code Online (Sandbox Code Playgroud)
在你的代码中它看起来像这样:
UPDATE [Table]
SET Active = 1,
Subscribed = 1,
RenewDate = GETDATE(),
EndDate = DATEADD(mm,1,getdate()),
OUTPUT INSERTED.TableID
WHERE SC = @SC
AND Service = @Ser
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
18546 次 |
| 最近记录: |