Cita: para que sirve el @return_value
por lo regular se ocupara para regresar algun valor de tu SP, es decir, haces algun tipo de comparacion interna y dependiendo del resultado regresaras lo que necesitas.
Claro que todo depende de que estes haciendo.
por ejemplo, tienes un SP como ésto:
Cita: CREATE PROCEDURE dbo.SelectCustomers
(
@EmployeeID int
)
AS
declare @i INT
set @i =
(
SELECT count(*) FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
WHERE (Orders.EmployeeID = @EmployeeID)
)
IF @i > 1
--REGRESO ALGUN VALOR
return 12
ELSE
--OTRO VALOR
return 23
GO
Y ya por código haces un executenonquery para obtener despues el valor:
ejemplo:
Cita: ...
...
Dim paramReturn As SqlParameter
paramReturn = myCommand.Parameters.Add("@RETURN_VALUE", SqlDbType.Int)
paramReturn.Direction = ParameterDirection.
ReturnValue
Dim param As New SqlParameter("@EmployeeID", SqlDbType.Int)
param.Value = 30
myCommand.Parameters.Add(param)
Dim intResult As Integer
myConnection.Open()
myCommand.
ExecuteNonQuery()
'aqui recibo el valor que regresa mi SP
intResult = myCommand.Parameters("@RETURN_VALUE").Value
myConnection.Close()
Response.Write("resultado = " & intResult)
Es un ejemplo muy general, solo espero que lo hayas entendido.
Salu2