Ho uno sp in SQL Server che restituisce gli errori -4Valore restituito da un proc memorizzato su errore
Cosa significa -4? C'è un tavolo da qualche parte che spiega quali sono i possibili valori di ritorno?
Ci deve essere una serie
Per esempio
declare @RetVal int
EXEC @RetVal = stpTest
select @RetVal
dove stpTest è "SELECT 1/0" restituisce -6.
-6 deve significare qualcosa!
Lo sp che ha restituito -4 contiene solo istruzioni UPDATE e SELECT INTO.
In nessun momento fa 'SELECT -4', quindi come posso "scoprire che cosa significa -4 in quella particolare stored procedure"?
Inoltre, se non esiste uno standard, allora perché un errore di divisione per zero restituisce sempre -6?
Se si dispone di un SP che non restituisce nulla vale a dire che non ha istruzioni SELECT in esso e si fare:
declare @RetVal int
EXEC @RetVal = yourSPName
Poi @RetVal avrà un valore pari a 0.
Se c'è un errore, @RetVal sarà un valore diverso da zero, ad esempio se l'unica cosa che fa sp è "SELECT 1/0", quindi @RetVal sarà -6.
provare e vedere
La mia domanda è che cosa significano questi valori di ritorno? Devono avere un significato logico!
Come indicato più volte di seguito, non ci sono standard. Se si dispone della fonte dello sproc, provare le procedure di debug standard. – Adrien
Quale versione di SQL Server stai usando? Modifica la domanda con un esempio completo, mostrando la stored procedure, l'esecuzione e il risultato. –