Ada*_*ate 4 sql t-sql sql-server ssms
是否可以检索受更新查询影响的所有主键?例如:
表:
+-------------+---------+--------+
|idx (PK, int)|FirstName|LastName|
+-------------+---------+--------+
|1 |Jane |Smith |
+-------------+---------+--------+
|2 |John |Test |
+-------------+---------+--------+
|3 |Adam |Smith |
+-------------+---------+--------+
Run Code Online (Sandbox Code Playgroud)
查询:
UPDATE clients SET [LastName] = 'Smith' WHERE [FirstName] = 'John'
Run Code Online (Sandbox Code Playgroud)
我想要的回报:
2
但我也希望这种方法适用于多行...例如:
查询:
UPDATE clients SET [FirstName] = 'test' WHERE [LastName] = 'Smith'
Run Code Online (Sandbox Code Playgroud)
我想要的回报:
1,3
将OUTPUT子句与表变量结合使用可以更新所有 ID:
declare @insertedIds table (id int)
update
supportContacts
set
type = 'Email, updated'
output inserted.id into @insertedIds
where
type = 'Email'
select id from @insertedIds
Run Code Online (Sandbox Code Playgroud)