Ahm*_*tun 2 sql sql-server stored-procedures sql-update
我正在使用SQL Server 2008
我有一个名为表中MYTABLE有两列:ID,STATUS
我想编写一个存储过程,返回STATUS0 的记录.但是这个存储过程必须将STATUS返回的行更新为1.如何在单个查询中选择和更新操作?
update MyTable
set Status = 1
output inserted.*
where Status = 0
Run Code Online (Sandbox Code Playgroud)
如果要在更新之前返回表格的样子,则应使用deleted.*.
update MyTable
set Status = 1
output deleted.*
where Status = 0
Run Code Online (Sandbox Code Playgroud)
如果你愿意,你当然可以同时使用它们而你不必使用它们*.您可以指定您感兴趣的列.
update MyTable
set Status = 1
output inserted.ID, inserted.status, deleted.status as OldStatus
where Status = 0
Run Code Online (Sandbox Code Playgroud)