Nej, du kan lämna tillbaka något själv
exempel
CREATE PROC pr_test AS
SELECT 1/0
RETURN 0
GO
Kör det nu
DECLARE @i INT
exec @i = pr_test
SELECT @i -- will be 0
DROP PROC pr_test
Låt oss nu göra det igen utan retursatsen
CREATE PROC pr_test2 AS
SELECT 1/0
GO
DECLARE @i INT
exec @i = pr_test2
SELECT @i -- will be - 6
Bättre att använda en output parameter
för att skicka tillbaka statusar och/eller meddelanden