Desbordamiento aritmetico...

12/02/2008 - 17:37 por Fernando Fernandez Garcia | Informe spam
Hola...

Mi consulta es la siguiente:
Sobre SQL 2000 tengo una tabla a la cual ejecuto un procedimiento almacenado
para que me localize una venta por sucursal N(3), puesto N(3) y factura I(4)
EL nro de factura puede tener hasta 7 digitos. El problema que me ocurre es
q cuando ejecuto el procedimiento para ciertas sucursales me devuelve el
siguiente error:

Servidor: mensaje 8115, nivel 16, estado 8, procedimiento wc_buscaventa,
linea 9
"Error de desbordamiento aritmetico al convertir numeric al tipo de
datos numeric"

EL procedimiento wc_buscaventa es el siguiente:

CREATE PROCEDURE wc_buscaventa
@sucursal numeric(3)
@puesto numeric(3)
@nrofactura numeric(7)
AS
SELECT ... lista de campos FROM... lista de tablas ...
where nro_sucursal = @sucursal AND nropuesto = @puesto AND CAST(nfactura AS
numeric (7) = @nrofactura

en algunos casos devuelve correctamente el cursor, pero en algunos da el
error mencionado y en otros no devuelve nada (aun existiendo el registro) y
emite el error

Agradecere cualquier ayuda.
Fernando
 

Leer las respuestas

#1 Alejandro Mesa
12/02/2008 - 19:44 | Informe spam
Fernando Fernandez Garcia,

Pudieras postear la estructura de la tabla, me interesa ver los tipo de
datos de las columnas que participan en el predicado de la clausula "where".


AMB


"Fernando Fernandez Garcia" wrote:

Hola...

Mi consulta es la siguiente:
Sobre SQL 2000 tengo una tabla a la cual ejecuto un procedimiento almacenado
para que me localize una venta por sucursal N(3), puesto N(3) y factura I(4)
EL nro de factura puede tener hasta 7 digitos. El problema que me ocurre es
q cuando ejecuto el procedimiento para ciertas sucursales me devuelve el
siguiente error:

Servidor: mensaje 8115, nivel 16, estado 8, procedimiento wc_buscaventa,
linea 9
"Error de desbordamiento aritmetico al convertir numeric al tipo de
datos numeric"

EL procedimiento wc_buscaventa es el siguiente:

CREATE PROCEDURE wc_buscaventa
@sucursal numeric(3)
@puesto numeric(3)
@nrofactura numeric(7)
AS
SELECT ... lista de campos FROM... lista de tablas ...
where nro_sucursal = @sucursal AND nropuesto = @puesto AND CAST(nfactura AS
numeric (7) = @nrofactura

en algunos casos devuelve correctamente el cursor, pero en algunos da el
error mencionado y en otros no devuelve nada (aun existiendo el registro) y
emite el error

Agradecere cualquier ayuda.
Fernando



Preguntas similares