我知道在 T-SQL (Server 2008 R2) 中,我可以使用“输出”关键字来获取我刚刚插入的行的 ID。例如,我可以做
insert into [Membership].[dbo].[User] (EmailAddress)
output Inserted.UserId
values('testUser1@test.com')
有没有办法将它组合成另一个插入?例如,假设我想添加一个新用户并立即将该用户添加到一个UserRole
映射UserId
到RoleId
.
基本上,我想做类似下面的事情。
insert into UserRole (RoleId, UserId)
values
(
1,
insert into [Membership].[dbo].[User] (EmailAddress)
output Inserted.UserId values('testUser1@test.com')
)
但我似乎无法让它发挥作用。我尝试将内部插入包裹在括号 () 中或使用 select * from () 等。
我错过了什么?这种组合甚至可能吗?
谢谢您的帮助。
问候,