代码之家  ›  专栏  ›  技术社区  ›  Ian Henry

如何选择存储过程的返回值?

  •  1
  • Ian Henry  · 技术社区  · 15 年前

    这似乎是微不足道的,但我的SQL并没有达到标准,我想不出来。我只想从存储过程中选择返回的标量。基本上是这样的:

    select dbo.sProcedure @param
    

    但这会引发一个错误。它实际上不是从过程中返回结果集的选项。是否可以这样做,或者我是否需要开始重写一些代码?

    3 回复  |  直到 14 年前
        1
  •  6
  •   RichardOD    15 年前

    像这样:

    DECLARE @SomeReturnValue INT
    EXEC @SomeReturnValue = SomeProc
    SELECT @SomeReturnValue
    
        2
  •  1
  •   j.a.estevan    15 年前

    您应该向sp传递一个输出参数,在该参数中可以存储所需的返回值,或者使用标量函数

        3
  •  0
  •   Yishai    15 年前

    @Richardod有正确的语法,但是正如所暗示的那样,您不能在select语句中使用它。如果需要在select语句中使用它,请使用函数而不是存储过程。