【问题标题】:output parameter in stored procedure not working存储过程中的输出参数不起作用
【发布时间】:2013-05-22 11:48:33
【问题描述】:

我是存储过程的新手。

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

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参数。

可能是什么错误?

【问题讨论】:

    标签: sql sql-server-2005 stored-procedures


    【解决方案1】:

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

        Declare @op int
        exec simpleProc 908,82,@op output
        //use op variable
    

    【讨论】:

      【解决方案2】:

      你应该给过程一个可以存储输出的变量

      declare @sum int
      exec simpleProc 908, 82, @sum output
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-28
        • 2015-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多