小编典典

正式参数“ mode”未声明为OUTPUT参数,但实际参数已传递至请求的输出中

sql

我有这个存储过程:

ALTER PROCEDURE spCertificationType 
    @result nvarchar(15) output,
    @mode int 
AS
BEGIN
    if @mode = 1
    begin
        exec spGeneratedID 2, @result output
        print @result
    end
END

但是当我尝试执行它时,出现此错误

形式参数“ mode”没有声明为OUTPUT参数,而是实际参数传递到请求的输出中。

我试图这样设置@mode为输出:

ALTER PROCEDURE spCertificationType 
    @result nvarchar(15) output,
    @mode int output
AS
BEGIN
    if @mode = 1
    begin
        exec spGeneratedID 2, @result output
        print @result
    end
END

但它返回一个空值。

有什么解决办法吗?提前致谢。


阅读 231

收藏
2021-04-22

共1个答案

小编典典

存储过程中参数的顺序是先使用输入参数,然后使用输出参数:-您可以查看此链接以了解存储过程的更多知识:-

http://www.codeproject.com/Articles/126898/Sql-Server-How-To-Write-a-Stored-
Procedure-in-SQL

ALTER PROCEDURE spCertificationType

     @mode int,
     @result nvarchar(15) output
 AS
 BEGIN
     if @mode = 1
   begin
    exec spGeneratedID 2, @result output
    print @result
   end
END
2021-04-22