2 つの挿入ステートメントを持つストアド プロシージャがあります。最初の挿入から ID を返したいと思います。大まかに次のようになります。
declare @retVal int
Begin transaction
insert into myTable(..) values (..)
set @retVal = scope_identity()
insert into myTable2(..) values(..)
Commit transaction
return @retVal
これを行うと、insert ステートメントは正常に機能しますが、毎回同じ値が返されます (この場合、myTable
奇妙な理由で から ID 6 が返されます)。
何が起こっているのか誰にも推測できますか?