我知道在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