Buenas amigos, como siempre buscando ayuda:
El asunto es el siguiente:
Tengo dos tablas:
Código SQL
[-]
TB_VENTAS (
cod integer,
fecha TdateTime,
ref_proveedor integer [FK],
tipo_descuento integer[FK],
tipo compra integer [FK],
total decimal(10,2) )
TB_ITEMS_VENTAS (
cod integer,
ref_venta integer,
ref_producto integer,
precio_unitario decimal(10,2),
precio_unitario_descuento decimal(10,2),
cantidad integer,
subtotal decimal(10,2))
ademas tengo un trigger after_update para
, el cual en una parte verifica si se modifico el campo
, si es asi ejecuta esta instrucción:
Código SQL
[-]
update table tb_items_venta
set precio_unitario=precio_unitario_descuento*(1-( : porcentaje/100))
where ref_venta=new_cod;
para actualizar todos los precios de los items de la venta y queden de acorde con el decuento seleccionado (el parámetro : porcentaje se lo extrae previamente de otra tabla
), lo que he descubierto es "FALLA LA DIVISION", asi es todo el factor
no calcula, pero si lo cambio por algo asi
funciona, y tampoco es el valor del parámetro : procentaje, pues si coloco
también funciona, pero el calculo es incorrecto pues : porcentaje esta en tantos por ciento y se lo necesita en tantos por uno, todo esto me hace suponer que el error esta en la
división
Uso EMS manager 3.0 y tambien IB-SQL, con firebird 1.5.
Muchas gracias de antemano por su ayuda
NOTA el espacio entre : y porcentaje (
orcentaje) tube que colocarlo asi en el foro porque me lo reconoce como un icono sancado la lengua