Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Un valore restituito di 0 è sempre un successo nelle stored procedure?

No, puoi restituire qualcosa da solo

esempio

CREATE PROC pr_test AS 
SELECT 1/0

RETURN 0
GO

Ora eseguilo

DECLARE @i INT
exec @i = pr_test

SELECT @i  -- will be 0

DROP PROC pr_test

Ora facciamolo di nuovo senza la dichiarazione di reso

CREATE PROC pr_test2 AS 
SELECT 1/0

GO

DECLARE @i INT
exec @i = pr_test2

SELECT @i  -- will be - 6

Meglio usare un output parameter per ritrasmettere stati e/o messaggi