我有这个存储过程:
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
但它返回一个空值。
对此有何修复?提前谢谢。
答案 0 :(得分:8)
存储过程中的参数序列是首先使用输入参数然后使用输出参数: - 您可以通过此链接查看有关商店程序的更多信息: -
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
答案 1 :(得分:1)
我以不同的方式修复了这个错误。