Non, vous pouvez retourner quelque chose vous-même
exemple
CREATE PROC pr_test AS
SELECT 1/0
RETURN 0
GO
Maintenant lancez-le
DECLARE @i INT
exec @i = pr_test
SELECT @i -- will be 0
DROP PROC pr_test
Recommençons maintenant sans l'instruction return
CREATE PROC pr_test2 AS
SELECT 1/0
GO
DECLARE @i INT
exec @i = pr_test2
SELECT @i -- will be - 6
Mieux vaut utiliser un output parameter
pour retransmettre des statuts et/ou des messages