A volte, a seconda dei valori di partenza la query sotto riportata mi
restituisce il seguente errore:
----------------------------------------------------------------------------
-------------
Server: messaggio 8115, livello 16, stato 8, riga 240
Si è verificato un errore di overflow aritmetico durante la conversione del
tipo di dati da numeric a numeric.
----------------------------------------------------------------------------
-------------
La query incriminata è la seguente:
----------------------------------------------------------------------------
------------
UPDATE
F
SET
F.PercClasse = CASE C.QtaGiacenza
WHEN 0 THEN 0
WHEN NULL THEN 0
ELSE F.QtaGiacenza * 100 / C.QtaGiacenza
END,
F.PercTotale = CASE T.QtaGiacenza
WHEN 0 THEN 0
WHEN NULL THEN 0
ELSE F.QtaGiacenza * 100 / C.QtaGiacenza
END
FROM
#Finale F,
#TotClasse C,
#TotGenerale T
WHERE
F.ARClasse3 = C.ARClasse3
AND F.CD_MG = T.CD_MG
----------------------------------------------------------------------------
------------
Ho provato anche ad impostare SET ARITHABORT OFF, ma non cambia nulla.
Sapete aiutarmi, cosa significa quel messaggio di errore?
Grazie
Ciao Diego,
controlla che le capacità di F.PercClasse e F.PercTotale possano contenere
il risultato
per simulare il messaggio d'errore ....
-------------------------
Declare @n numeric(3,2)
Set @n=125.25*100/2
-----------------------
Server: messaggio 8115, livello 16, stato 8, riga 3
Si è verificato un errore di overflow aritmetico durante la conversione del
tipo di dati da numeric a numeric.
Ciao Giorgio
SELECT ABS(convert(int, -2147483648))
>-----Messaggio originale---
>.
>
Ciao
"Diego Pianarosa" <d.pia...@globsys.it> ha scritto nel messaggio
news:%23cLyNTH...@TK2MSFTNGP11.phx.gbl...
Grazie, era proprio quello il problema.
Ciao