我正在尝试创建一个存储的proc,它返回所有已更新的记录。
我的更新查询是这样的:
UPDATE BatchItems SET [Status] = 'Processing' WHERE [Status] = 'Queued'
我只是不确定如何返回这些特定记录。
您可以OUTPUT INSERTED.[cols]用来获取语句已修改的行。
OUTPUT INSERTED.[cols]
UPDATE BatchItems SET [Status] = 'Processing' OUTPUT INSERTED.* WHERE [Status] = 'Queued'
例子;
select 'Queued ' as status, 1 as id into #BatchItems insert #BatchItems values ('Queued', 2) insert #BatchItems values ('XXX', 3) UPDATE #BatchItems SET [Status] = 'Processing' OUTPUT INSERTED.* WHERE [Status] = 'Queued' >>status id >>Processing 2 >>Processing 1