Tengo un sp en SQL Server que cuando los errores devuelven -4Devuelve el valor de un proceso almacenado en el error
¿Qué significa -4? ¿Hay alguna tabla que explique cuáles son los posibles valores de retorno?
Debe haber alguna norma
Por ejemplo
declare @RetVal int
EXEC @RetVal = stpTest
select @RetVal
donde se stpTest "SELECT 1/0" retornos -6.
-6 debe significar algo!
La sp que devolvió -4 solo tiene las instrucciones UPDATE y SELECT INTO en ella.
En ningún momento hace 'SELECT -4' entonces, ¿cómo puedo "descubrir qué -4 significa en ese procedimiento almacenado particular"?
Además, si no hay un estándar, ¿por qué un error de división por cero siempre devuelve -6?
Si usted tiene un SP que no devuelve nada es decir, no tiene ningún sentencias de selección en ella y hacer:
declare @RetVal int
EXEC @RetVal = yourSPName
Entonces @RetVal tendrá un valor de 0.
Si hay un error, @RetVal será un valor distinto de cero, por ejemplo, si lo único que su sp hace es "SELECT 1/0", entonces @RetVal será -6.
probarlo y ver
Mi pregunta es ¿qué significan estos valores de retorno? ¡Deben tener un significado lógico!
Como se indica repetidamente a continuación, no hay normas. Si tiene el origen del sproc, intente con sus procedimientos de depuración estándar. – Adrien
¿Qué versión de SQL Server estás usando? Edite su pregunta con un ejemplo completo, que muestre el procedimiento almacenado, la ejecución y el resultado. –