是否可以忽略存储过程的输出参数?

srm*_*ark 7 sql t-sql stored-procedures sql-server-2005

如何忽略存储过程的输出参数?我从另一个程序调用该过程,例如:

DECLARE @param1 integer

EXEC mystoredprocedure 
    @in_param_1, 
    @in_param2_, 
    @param1 OUTPUT, 
    -- what do I type here to ignore the second output param??
Run Code Online (Sandbox Code Playgroud)

我正在使用T-SQL(MS SQL 2005).

Sco*_*vey 6

你可以使用NULL作为最后一个参数,它应该可以正常工作 - 只要proc中的输入逻辑不需要该参数.

在你的情况下,你将proc称为

exec mystoredproc @in_param_1, @in_param2_, @param1 OUTPUT, null
Run Code Online (Sandbox Code Playgroud)

这是针对相同场景的另一个例子......

create proc MyTempProc
    (@one int,
    @two int out,
    @three int out)
AS
begin

    set @two = 2
    set @three = 3

    select @one as One

end
go

declare @p1 int,
        @p2 int

set     @p1 = 1

exec MyTempProc @p1, @p2 out, null 

print @p1
print @p2
Run Code Online (Sandbox Code Playgroud)