返回 scope_identity() 问题

geo*_*170 4 sql-server

环境sql server 2005

在我的存储过程中,我正在调用另一个存储过程将几行插入到几个表中。插入的最后一行我想将该行的标识传递给原始存储过程。我这样做是通过使用return scope_identity();我的理解return是仅用于错误消息/状态代码。这是做我需要做的事情的“好”方式,还是有另一种“更好”的方式?

dat*_*god 5

所有过程都有一个整数返回值。你的方法行得通,没有硬性规定。

或者,您可以返回一个输出参数。

例子:

创建过程 YourProcedure
  @ID 输出
作为
  插入到你的表(一堆值)
  选择@ID = scope_identity()
走

然后,您可以按如下方式调用您的过程:

声明@TheID int
exec YourProcedure @TheID 输出
选择@TheID