从存储过程返回值我有一个存储过程与两个插入语句。我想从第一张插页中返回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