如何使用存储过程设置整数变量

时间:2009-11-24 12:06:39

标签: tsql stored-procedures

exec SP_HastaIcmal_AktifKaliciHastalar 25 它返回86。

DECLARE @iAktifKaliciHastalar int

SET @iAktifKaliciHastalar = exec SP_HastaIcmal_AktifKaliciHastalar 25

该代码返回错误。

Msg 156, Level 15, State 1, Line 3
Incorrect syntax near the keyword 'exec'.

3 个答案:

答案 0 :(得分:2)

DECLARE @iAktifKaliciHastalar int

EXEC @iAktifKaliciHastalar = SP_HastaIcmal_AktifKaliciHastalar 25

这应该可以正常工作: - )

答案 1 :(得分:1)

假设该值作为来自sproc的返回码返回(即RETURN 86),则:

DECLARE @iAktifKaliciHastalar int
exec @iAktifKaliciHastalar = SP_HastaIcmal_AktifKaliciHastalar 25

如果它作为结果集返回,我建议将其更改为返回为上面的返回代码,或者作为OUTPUT参数(返回代码只能是整数),只要它只返回一个单一的价值。

答案 2 :(得分:0)

EXEC @var = ProcName解决方案外,您还可以使用输出参数,这意味着更改您的存储过程

DECLARE @iAktifKaliciHastalar int

EXEC SP_HastaIcmal_AktifKaliciHastalar 25, iAktifKaliciHastalar OUTPUT