T-SQL (Server 2008 R2) では、'Output' キーワードを使用して、挿入した行の 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 () などを使用してみました。
私は何が欠けていますか?この構成は可能ですか?
助けてくれてありがとう。
よろしく、