我有这个存储过程:

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设置为这样的输出:
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

但它返回一个空值。

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

最佳答案

存储过程中参数的顺序是先使用输入参数,然后使用输出参数:
您可以查看此链接以获取有关存储过程的更多信息:-

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

10-07 19:38
查看更多