Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-06-2006
ASAPLTDA ASAPLTDA is offline
Miembro
 
Registrado: jun 2003
Ubicación: COLOMBIA-CALI
Posts: 639
Poder: 21
ASAPLTDA Va por buen camino
Unhappy 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
Si los hago con el valor calculado al campo no tengo problemas ? que Hago??
sugerencias

Última edición por ASAPLTDA fecha: 23-06-2006 a las 14:19:12.
Responder Con Cita
  #2  
Antiguo 22-06-2006
ASAPLTDA ASAPLTDA is offline
Miembro
 
Registrado: jun 2003
Ubicación: COLOMBIA-CALI
Posts: 639
Poder: 21
ASAPLTDA Va por buen camino
Unhappy 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
Responder Con Cita
  #3  
Antiguo 23-06-2006
ronalg ronalg is offline
Miembro
 
Registrado: may 2003
Ubicación: Sucre - Bolivia
Posts: 68
Poder: 21
ronalg Va por buen camino
Seria bueno que publiques el codigo

Asi sería posible que te ayudemos más rápido
__________________
Saludos desde Sucre - Bolivia
"Si te lo puedes imaginar lo
puedes resolver" Pyriel
Responder Con Cita
  #4  
Antiguo 23-06-2006
ASAPLTDA ASAPLTDA is offline
Miembro
 
Registrado: jun 2003
Ubicación: COLOMBIA-CALI
Posts: 639
Poder: 21
ASAPLTDA Va por buen camino
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error a la hora de generar un trigger jmlifi Firebird e Interbase 0 21-09-2005 11:09:40
Calculos Aleca OOP 2 18-08-2004 18:31:43
calculos buitrago Firebird e Interbase 7 20-07-2004 04:42:24
Error Antes De Leer El Trigger ALMERA Firebird e Interbase 1 01-08-2003 17:27:03
Trigger ... error al crear Tomás Firebird e Interbase 6 06-05-2003 21:00:56


La franja horaria es GMT +2. Ahora son las 10:51:02.


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
Copyright 1996-2007 Club Delphi