Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Error Calculos Trigger (https://www.clubdelphi.com/foros/showthread.php?t=32819)

ASAPLTDA 16-06-2006 22:11:03

Error Calculos Trigger
 
HOLA AMIGOS DEL FORO,

tengo el siguiente problema en un trigger al momento de insertar el dato y calcular un valor aproximado de
92.3503451.75 para la siguiente condiciones:
vrfob decimal 13.2 93,180,000.00 (punto = decimal)
vr unitario 60000.00000 decimal 15.5
cantidad decimal 1,553.00000 decimal 15.5
firebird 1.53

CALCULOS TRIGGER
CREATE TRIGGER X BEFORE INSERT, BEFORE UPDATE
BEGIN
NEW.VRFOB = NEW.SALDO * NEW.VRUNIFOB;
END

Como se puede observar 93,180,000.00 Solamente Tiene 10 cifras asi 8 enteros 2 decimales por lo cual cabe en decimal 13,2

El sistema al calcular el valor en el procedimiento genera un error de interger en error :mad:
Si los hago con el valor calculado al campo no tengo problemas ? que Hago??
sugerencias :( :(

ASAPLTDA 22-06-2006 15:24:59

Error Firebird
 
si los campos de la base de datos se definen como float o como double los calculos no tienen problemas pero, se pierde la uniformidad que puedendar los campos decimales/numericos en valores monetarios:eek:

ronalg 23-06-2006 03:46:54

Seria bueno que publiques el codigo
 
Asi sería posible que te ayudemos más rápido

ASAPLTDA 23-06-2006 14:30:13

Proeblemas en Trigger valores numeric
 
Hola Amigo del club delphi,

gracias por tu ayuda, he corregido el en planteamiento del problema, el cual en la respuesta dada por mi mismo , cambiando el resultado a float(32b) o double (64b) el proeblema queda resuelto desde el punto de vista numerico. El cambio de float (Interbase 6.0) a firebird decimal (13.2) lo hice poara tener valores exactos pero parece que tiene limitaciones segun la prueba que hice

create table basura(
wfloat float,
wdecimal decimal(13,2),
wnumeric numeric(13,2)
WQTY decimal(15,5)
)

luego inserte el valor en el campos valores de 93,450,355.75 y observer los efectos, el sistema genera un error en cuando lo grabo en el campo decimal/numeric

Utilice IBEXPERT version gratuita:confused:


La franja horaria es GMT +2. Ahora son las 05:29:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi