Хранимая процедура, когда использовать выходной параметр по сравнению с возвращаемой переменной

Когда бы вы использовали выходной параметр вместо возвращаемой переменной или наоборот? В следующем простом примере я могу добиться того же, используя любой из них.

Использование выходного параметра

create proc dbo.TestOutput (@InValue int, @OutValue int output)
as
set @OutValue = @InValue

declare @x int
exec TestOutput @InValue = 3, @OutValue = @x output
select @x 

Использование возвращаемой переменной:

create proc dbo.TestReturn (@InValue int)
as
return @InValue

declare @x int
exec @x = TestReturn @InValue = 3
select @x 

Как вы можете видеть, они оба делают одно и то же. Может ли кто-нибудь показать мне пример, в котором выбор выходного параметра и возвращаемой переменной будет иметь значение?

35
задан Jonathan Leffler 28 September 2010 в 17:41
поделиться