Uso sempre il valore restituito per restituire lo stato di errore. Se hai bisogno di restituire un valore, userei un parametro di output.
stored procedure di esempio, con un parametro OUTPUT:
CREATE PROCEDURE YourStoredProcedure
(
@Param1 int
,@Param2 varchar(5)
,@Param3 datetime OUTPUT
)
AS
IF ISNULL(@Param1,0)>5
BEGIN
SET @Param3=GETDATE()
END
ELSE
BEGIN
SET @Param3='1/1/2010'
END
RETURN 0
GO
chiamata alla stored procedure, con parametro OUTPUT:
DECLARE @OutputParameter datetime
,@ReturnValue int
EXEC @ReturnValue=YourStoredProcedure 1,null, @OutputParameter OUTPUT
PRINT @ReturnValue
PRINT CONVERT(char(23),@OutputParameter ,121)
USCITA:
0
2010-01-01 00:00:00.000