我知道在T-SQL(Server 2008 R2)中,我可以使用'Output'关键字来获取刚刚插入的行的Id。例如,我可以做将SQL插入语句编写到另一个插入语句中
insert into [Membership].[dbo].[User] (EmailAddress)
output Inserted.UserId
values('[email protected]')
是否有任何方法将这个组合到另一个插入?例如,假设我想添加一个新用户并立即将该用户添加到UserRole
表中,该表将UserId
映射到RoleId
。
基本上,我想做下面的事情。
insert into UserRole (RoleId, UserId)
values
(
1,
insert into [Membership].[dbo].[User] (EmailAddress)
output Inserted.UserId values('[email protected]')
)
但我似乎无法得到这个工作。我尝试将括号内的内部插入()或使用select * from()等方式包装起来。
我错过了什么?这个组成甚至可能吗?
感谢您的帮助。
问候,
你使用任何ORM? – FosterZ