From: | Luis Rodrigo Gallardo Cruz <rodrigo(at)nul-unu(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Fw: dato -2.1316282072803e-14 |
Date: | 2006-03-24 00:54:27 |
Message-ID: | 20060324005427.GA13082@mail.interservice.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Thu, Mar 23, 2006 at 06:37:40PM -0600, Roberto Cesar Najera wrote:
> Pues practicamente el trigger,
>
> lo que hago es eso, vender aceite, por cucharadas, pero nunca tenen numeros
> negativos, ahunque las decimales si las tengo que considerar , asi que si
> creo que con el numeric me evito las impresiciones ...
Te evitas las imprecisiones *de cálculo*. Es decir, no va a pasar que
1.0 - 1.0 = 0.000000000001
Si eso es lo que quieres evitar, cambiar a numeric te sirve. Ojo que con
numeric tienes que determinar _a priori_ la cantidad de dígitos
significativos de la columna. Y *todos* los datos tienen que tener la
misma. Es decir, tienes que especificar la cantidad total de aceite en
la bodega como 1000.00000 litros. Y cada cucharadita como 0.00001 l
Si el problema es que habían 0.05 ml de aceite y alguien vendió 0.06 el
problema no es de precisión y lo que necesitas es un constraint en la
columna. Si es algo parecido pero con una condición más compleja (que
requiera por ejemplo revisar otras tablas o que dependa del dato a
insertar (p.ej. que ningún update modifique la cantidad en más de 1
cucharadita) ) necesitas un trigger.
Ya me explayé mucho. Mejor cuenta tu problema con detalles.
(¿Por qué no me podré aprender la ortografía de 'precisión'? Siempre tengo
que consultar el diccionario)
--
Rodrigo Gallardo PGP Key ID: ADC9BC28
Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28
http://www.nul-unu.com http://www.nul-unu.com/blogs/elucubrando
From | Date | Subject | |
---|---|---|---|
Next Message | Fermín Bueno | 2006-03-24 04:00:52 | Capturar actividad de la base de datos para ver los scripts |
Previous Message | Roberto Cesar Najera | 2006-03-24 00:37:40 | Re: Fw: dato -2.1316282072803e-14 |