我是存储过程的新手。
我有简单的存储过程,用于添加两个数字,如下所示:
alter proc simpleProc
(
@Tax int ,
@TotalAmount int,
@sum int output
)
as
BEGIN
set @sum=(@Tax+@TotalAmount)
print @sum
END
正如我们在@sum
中看到的那样是输出参数。
但是当我按如下方式执行时:
exec simpleProc 908,82
它给了我以下错误:
Msg 201,Level 16,State 4,Procedure simpleProc,Line 0
过程或函数'simpleProc'需要参数'@sum',这是未提供的。
我已经提到@sum
作为输出参数,但是还要求我输入@sum
参数。
可能是什么错误?
答案 0 :(得分:2)
是的,你没有提供输出参数。 试试这个
Declare @op int
exec simpleProc 908,82,@op output
//use op variable
答案 1 :(得分:1)
您应该为程序提供一个可以存储输出的变量
declare @sum int
exec simpleProc 908, 82, @sum output