【问题标题】:Get RETURN value from stored procedure in SQL从 SQL 中的存储过程中获取 RETURN 值
【发布时间】:2012-11-16 07:28:38
【问题描述】:

我有一个以 RETURN 值 0 或 1 结束的存储过程。

我想在另一个存储过程的 IF 语句中使用这个值。

如何获取前一个存储过程的返回值,并将其保存在后一个变量中?

我找不到任何相关内容。所有问题都是关于在 C# 中获取 RETURN 值的。

我在想,也许是这样的:

SP_Two

DECLARE @returnValue INT
SET @returnValue = EXEC SP_One

IF @returnValue = 1
BEGIN
   --do something
END
ELSE
BEGIN
   --do something else
END

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    这应该适合你。事实上,您认为的那个也可以:-

     .......
     DECLARE @returnvalue INT
    
     EXEC @returnvalue = SP_One
     .....
    

    【讨论】:

      【解决方案2】:

      接受的答案对双重EXEC无效(只需要第一个EXEC):

      DECLARE @returnvalue int;
      EXEC @returnvalue = SP_SomeProc
      PRINT @returnvalue
      

      而且您仍然需要调用 PRINT(至少在 Visual Studio 中)。

      【讨论】:

        【解决方案3】:

        EXEC 令牌之后赋值:

        DECLARE @returnValue INT
        
        EXEC @returnValue = SP_One
        

        【讨论】:

          猜你喜欢
          • 2017-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-10-14
          • 2014-04-21
          • 2014-05-03
          • 1970-01-01
          • 2011-04-26
          • 1970-01-01
          相关资源
          最近更新 更多