[英]T-SQL Stored Procedure returned value into variable
我在MS SQL 2012 Express上有一个简单的存储过程,该存储过程返回的结果类似于:
DECLARE @value INT;
SELECT @value;
同时,我正在尝试将此存储过程称为
DECLARE @result INT;
EXEC @result = SpFoo .....
但是我从SpFoo
获得的@result
值为0。
如何获取存储过程返回的实际值?
谢谢
首先在您调用的sp中声明@Value作为输出参数
CREATE PROCEDURE spCallee
@Value INT Output
AS
BEGIN
set @Value = 1
END
GO
在调用方sp中获得像这样的结果
CREATE PROCEDURE spCaller
AS
BEGIN
declare @Result as int = 0
EXEC spCallee @Value = @Result Output
Select @Result
END
GO
我知道的唯一方法是将结果放入表,然后从表中获取:
DECLARE @tmp TABLE (Result int)
DECLARE @res int
INSERT INTO @tmp
EXECUTE [Procedure]...
SELECT @res = Result
FROM @tmp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.