Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Une valeur de retour de 0 est-elle toujours un succès dans les procédures stockées ?

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