将变量分配给存储过程的输出

时间:2011-08-03 14:50:57

标签: sql tsql stored-procedures variable-assignment

我正在尝试使用T-SQL

将存储过程的输出分配给变量

我有一个存储过程,我传递varbinary(128)变量,并使用密钥对其进行解密,并具有解密值的输出变量。我不确定我的语法是否正确,因为当我运行该过程时它会给出正确的结果,但是当我分配给变量时,则选择它始终为null的变量

declare @e as varbinary(128)
set @e = *encrypted value*
declare @t as int
set @t = 0
exec *storedprocedure* @data = @e,@t output
select @t
当我选择

时,

t为空

1 个答案:

答案 0 :(得分:1)

这是一个简单的例子

CREATE PROC myProc @in INT, @out INT OUTPUT
AS 
    SELECT @out = @in+20

GO

DECLARE @in INT, @out INT 

SET @in = 1

EXEC myProc @in= @in, @out=@out OUTPUT

SELECT @out

DROP PROC myProc