從存儲過程返回值我有一個存儲過程與兩個插入語句。我想從第一張插頁中返回ID。它看起來大致是這樣的:(。在這種情況下,ID 6從myTable
,一些奇怪的原因)使用scope_identity()
declare @retVal int
Begin transaction
insert into myTable(..) values (..)
set @retVal = scope_identity()
insert into myTable2(..) values(..)
Commit transaction
return @retVal
當我這樣做,插入語句工作正常,但相同的值返回每次
有人會猜測發生了什麼嗎?
它將有助於查看完整的模式設置,包括表創建和完整tsql。你發佈的內容沒有錯,但我懷疑你的實際代碼更復雜? – 2013-03-07 18:46:13
不要使用return(http://msdn.microsoft.com/library/ms174998(v=sql.105).aspx) 我建議你用* SELECT *替換* RETURN *,它應該可以工作 – jazzytomato 2013-03-07 18:48:54
或者使用輸出參數... – canon 2013-03-07 18:49:16