SQL Server输出参数
问题描述:
环境是SQL Server 2005
有没有办法在获取存储过程的输出参数时使用命名参数?目前,我对输出参数的了解非常有限。看起来我必须按照存储过程中的声明来使用它们。即如果我做了exec test @rich output,@bob output
这个电话就会爆炸。我怎样才能让订单成为任意的?谢谢SQL Server输出参数
create procedure test
@ID as INT output
,@mark as char(20) output
as
select @ID = 5,@mark='test'
go
declare @bob as int
declare @rich as char(20)
exec test @bob output, @rich output
select @bob,@rich
答
EXEC test @ID = @bob OUTPUT, @mark = @rich OUTPUT
或者,如果你喜欢
EXEC test @mark = @rich OUTPUT, @ID = @bob OUTPUT
答
declare @bob as int
declare @rich as char(20)
exec test
@mark = @rich output,
@id = @bob output
select @bob,@rich
答
,而不是positional
使用named parameters
declare @bob as int
declare @rich as char(20)
exec test @ID = @bob output, @mark = @rich output
select @bob,@rich
exec test @mark = @rich OUTPUT,@ID = @bob output
select @bob,@rich
的三个答案我目前看到的是等效的,但把每个参数在一个单独的线上这是一个更清晰的答案。 – 2011-04-28 14:18:40