J'utilise toujours la valeur de retour pour transmettre le statut de l'erreur. Si vous avez besoin de transmettre une valeur, j'utiliserais un paramètre de sortie.
exemple de procédure stockée, avec un paramètre DE SORTIE :
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
appel à la procédure stockée, avec un paramètre DE SORTIE :
DECLARE @OutputParameter datetime
,@ReturnValue int
EXEC @ReturnValue=YourStoredProcedure 1,null, @OutputParameter OUTPUT
PRINT @ReturnValue
PRINT CONVERT(char(23),@OutputParameter ,121)
SORTIE :
0
2010-01-01 00:00:00.000