如何选择一个更新的SQL,以便我可以获取新更新的数据

时间:2018-10-23 20:53:33

标签: sql sql-server

我希望它像这样,在这里我可以更新并进行查询 一起

示例查询:

select top 1 Id, Name, Title
from People
where Id = 2
update Title = 'Manager'

2 个答案:

答案 0 :(得分:0)

不清楚您真正想要的是什么...

IF 您要主要更新数据,并从UPDATE语句中获取更新的数据行-尝试执行以下操作:

UPDATE dbo.People
SET Title = 'Manager'
OUTPUT Inserted.Id, Inserted.Name, Inserted.Title
WHERE Id = 2

UPDATE时,您将获得InsertedDeleted伪表(如在触发器中一样),它们引用数据{em> }}(UPDATE以及DeletedUPDATE)到数据之后,您可以输出这些值的任意组合。这是一个常规结果集-例如来自Inserted的结果。

另一方面,如果要主要选择,然后更新所选数据,请尝试以下操作:

SELECT

答案 1 :(得分:0)

想要的声音OUTPUT

您可以使用表变量来存储更新所需的数据,以供以后使用。像这样:

DECLARE @MyTableVar table(  
    id int,  
    Name varchar(100),  
    OldTitle varchar(100),
    NewTitle varchar(100))

UPDATE People
SET Title = 'Manager'
OUTPUT inserted.Id,  
       deleted.Name,  
       deleted.Title,  
       inserted.Title
INTO @MyTableVar
WHERE Id = 2

SELECT * FROM @MyTableVar