sql-server - stored - procedimientos almacenados sql
¿Es un valor de retorno de 0 siempre exitoso en los procedimientos almacenados? (3)
No, puedes devolver algo tú mismo
ejemplo
CREATE PROC pr_test AS
SELECT 1/0
RETURN 0
GO
Ahora ejecútalo
DECLARE @i INT
exec @i = pr_test
SELECT @i -- will be 0
DROP PROC pr_test
Ahora hagámoslo de nuevo sin la declaración de devolución
CREATE PROC pr_test2 AS
SELECT 1/0
GO
DECLARE @i INT
exec @i = pr_test2
SELECT @i -- will be - 6
Es mejor usar un output parameter
para pasar estados y / o mensajes
Si un procedimiento almacenado devuelve un valor de cero, ¿eso siempre significa que se ejecutó con éxito? Estoy usando MS SQL Server 2008.
Puede usar la palabra Return
para devolver cualquier valor entero de un Procedimiento almacenado . Eso significa que cero no significa que el procedimiento almacenado se ejecutó con éxito.
Un valor de retorno @@ ERROR de "cero" indica que su procedimiento se completó sin ningún error.
Por supuesto, eso no significa que hizo lo que usted quería ...
¿Puedes ser más específico sobre lo que estás mirando?