[firebase-br] Integer OverFlow

Maicon Bernardes phobia.all em gmail.com
Sex Out 16 15:35:10 -03 2009


Boa Tarde, estou executando uma operação SQL de cálculo de saldo
mas quando abro a query dependendo do produto em questão da este erro:

"Database Server Error: Integer overflow.  The result of an integer
operation caused the most significant bit of the result to carry."

a linha do SQL:

SELECT X.CD_PROD, CAST(SUM(X.QT_MOV) AS NUMERIC(15,6)) AS SALDO
FROM (SELECT  A.CD_PROD,
      COALESCE(A.QT_MOV,0)*(1/COALESCE(C.FT_UNIDCONV,1)) AS QT_MOV
      FROM DM173 A
      LEFT JOIN DM175 B ON (B.CD_EMPRESA = A.CD_EMPRESA AND B.CD_PROD =
A.CD_PROD)
      LEFT JOIN DM186 C ON (C.CD_EMPRESA = A.CD_EMPRESA AND C.CD_UNIDORIG =
B.CD_UNID AND C.CD_UNIDDEST = B.CD_UNIDCONS AND       C.CD_UNIDORIG =
A.CD_UNID)
      WHERE A.CD_EMPRESA = 1
      AND A.TP_MOV = 'E'
      AND A.CD_PROD = :CD_PROD
UNION ALL
SELECT A.CD_PROD,
CAST(COALESCE(-A.QT_MOV,0)*(1/COALESCE(C.FT_UNIDCONV,1)) AS NUMERIC(15,6))
AS QT_MOV
FROM DM173 A
LEFT JOIN DM175 B ON (B.CD_EMPRESA = A.CD_EMPRESA AND B.CD_PROD = A.CD_PROD)
LEFT JOIN DM186 C ON (C.CD_EMPRESA = A.CD_EMPRESA AND C.CD_UNIDORIG =
B.CD_UNID AND C.CD_UNIDDEST = B.CD_UNIDCONS AND C.CD_UNIDORIG = A.CD_UNID)
WHERE A.CD_EMPRESA = 1
AND  A.TP_MOV = 'S'
AND A.CD_PROD = :CD_PROD) X
GROUP BY X.CD_PROD

sendo que com alguns produtos o SQL retorna corretamente e com outros da
esta msg.

Obrigado desde já
Maicon Bernardes



Mais detalhes sobre a lista de discussão lista