SQL Update - 更新选定的行

时间:2011-06-19 11:32:15

标签: sql sql-server stored-procedures sql-update

我正在使用SQL Server 2008

我有一个名为MYTABLE的表格,其中有两列:IDSTATUS

我想编写一个存储过程,它返回STATUS为0的记录。但是这个存储过程必须将返回行的STATUS更新为1.如何选择和更新操作在一个查询中?

2 个答案:

答案 0 :(得分:9)

update MyTable
set Status = 1
output inserted.*
where Status = 0

如果你想在更新之前返回表格的样子,你应该使用deleted。*代替。

update MyTable
set Status = 1
output deleted.*
where Status = 0

如果您愿意,您当然可以同时使用这两种方式,而不必使用*。您可以指定您感兴趣的列。

update MyTable
set Status = 1
output inserted.ID, inserted.status, deleted.status as OldStatus
where Status = 0

答案 1 :(得分:0)

可以使用OUTPUT子句来完成。