error al crear un trigger
Publicado por ROBERTO (4 intervenciones) el 23/07/2019 23:33:06
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
USE facturacion;
DELIMITER $$
create or REPLACE
TRIGGER ACTUALIZA_CUOTAS_IVA_AI_O_AU
after INSERT
ON factura_detalle
for EACH ROW
BEGIN
SELECT iva as ivaprod,porc as porceniva, productos.id from productos JOIN tiposiva on productos.iva = tiposiva.id where productos.id = new.id_producto ;
-- SELECT iva ivaprod from productos where id = new.id_producto
-- SELECT porc porceniva from tiposiva where id = ivaprod
IF EXISTS (SELECT id,tipo FROM cuotasiva WHERE id=new.id_factura and tipo = ivaprod) THEN
UPDATE cuotasiva SET importe = importe + (new.subtotal * 1-(porceniva/100))
WHERE id = new.id_factura and tipo = ivaprod;
ELSE
INSERT INTO cuotasiva VALUES ('new.id_factura','ivaprod','new.subtotal * 1-(porceniva/100)');
END
$$
Hola este es mi disparador . Me da errores de sintaxis que no logro corregir.
Lo que quiero es que despues de insertar un registro de detalle en mi facturacion que inserte o actualice la cuota de iva correspondiente que se guarda en la tabla cuotasiva.Para ello antes de hacer el update o insert busco el tipo de iva del producto que contiene el detalle(porc) para utilizarlo despues en el update o el insert.
Gracias.
Valora esta pregunta


0