Jedną z metod która pozwala zwrócić wartość z procedury jest użycie parametru OUTPUT.
Procedura zwraca aktualną wartość parametru do wywołującego programu.
use [AdventureWorks]
go
create or alter procedure TakeBirthDateByEmployeeID (
@EmployeeID int,
@BirthDate varchar(10) output)
as select @BirthDate =
(
select BirthDate
from [HumanResources].[Employee]
where BusinessEntityID = @EmployeeID
)
return;
go
declare @BirthDateOut varchar(10)
exec TakeBirthDateByEmployeeID @EmployeeID = 2, @BirthDate = @BirthDateOut output
select @BirthDateOut