2

我是存储过程的新手。

我有两个数字相加的简单存储过程,如下所示:

alter proc simpleProc 
(
    @Tax int ,
    @TotalAmount int,
    @sum int output     
)
as
BEGIN
set @sum=(@Tax+@TotalAmount)
print @sum
END

正如我们所见,这@sum是输出参数。

但是当我按如下方式执行它时:

exec simpleProc 908,82 

它给了我以下错误:

消息 201,级别 16,状态 4,过程 simpleProc,第 0 行
过程或函数“simpleProc”需要未提供的参数“@sum”。

我已经提到@sum了作为输出参数,但它也要求我输入@sum参数。

可能是什么错误?

4

2 回答 2

3

是的,您没有提供输出参数。尝试这个

    Declare @op int
    exec simpleProc 908,82,@op output
    //use op variable
于 2013-05-22T11:53:50.907 回答
2

您应该为过程提供一个可以存储输出的变量

declare @sum int
exec simpleProc 908, 82, @sum output
于 2013-05-22T11:51:47.117 回答