Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Aiuto con un errore di overflow

799 views
Skip to first unread message

Diego Pianarosa

unread,
Jun 7, 2004, 5:48:50 AM6/7/04
to
Ciao a tutti ho una query che in alcuni casi si comporta in maniera
anomala.

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


giorgio rancati

unread,
Jun 7, 2004, 6:02:27 AM6/7/04
to

"Diego Pianarosa" <d.pia...@globsys.it> ha scritto nel messaggio
news:%23cLyNTH...@TK2MSFTNGP11.phx.gbl...

> Ciao a tutti ho una query che in alcuni casi si comporta in maniera
> anomala.
>
> 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:
>
[CUT]

>
> Ho provato anche ad impostare SET ARITHABORT OFF, ma non cambia nulla.
>
> Sapete aiutarmi, cosa significa quel messaggio di errore?

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


ALBERTO

unread,
Jun 7, 2004, 6:01:57 AM6/7/04
to
ciao ,
prova a guardare questo esempio

SELECT ABS(convert(int, -2147483648))


>-----Messaggio originale---

>.
>

Bicio

unread,
Jun 7, 2004, 6:09:56 AM6/7/04
to
Non puoi mettere al denominatore la colonna "C.QtaGiacenza". Se vale 0, fai
un numero diviso 0, e SQL da' errore.

Ciao

"Diego Pianarosa" <d.pia...@globsys.it> ha scritto nel messaggio
news:%23cLyNTH...@TK2MSFTNGP11.phx.gbl...

Diego Pianarosa

unread,
Jun 7, 2004, 6:36:26 AM6/7/04
to

"giorgio rancati" <giorgio_No_Sp...@tiscali.it> ha scritto nel
messaggio news:OmbwOZHT...@TK2MSFTNGP10.phx.gbl...

Grazie, era proprio quello il problema.

Ciao


0 new messages