buenas soy nuevo en esto.. por favor si alguien me explica algo por que cuando es insert se resta stockactual con cantidad y si es delete se suman.. estoy haciendo un sistema de venta. cuando le inserto un stock le sumo la cantidad el precio total de compra y el precio total de venta cuando es modificar le modifico los campos verdad pero cuando es delete osea una venta le tengo que restar la cantidad que vendi y obviamente el precio total de venta que tenia y el precio total de compra que tenia. por favor si alguien me explica...
trigger de insert
begin
declare resultado bigint;
declare resultado1 bigINT;
if EXISTS(select * from stock_productos WHERE id_productos = new.id_productos)then
UPDATE stock_productos
set cantidad_total = cantidad_total + new.cantidad, precio_total_compra = precio_total_compra + (new.cantidad * new.precio_compra), precio_total_venta = precio_total_venta + (new.cantidad * new.precio_venta)
WHERE id_productos = new.id_productos;
ELSE
set resultado = (new.cantidad * new.precio_compra);
set resultado1 = (new.cantidad * new.precio_venta);
INSERT into stock_productos(id_productos, cantidad_total, precio_total_compra, precio_total_venta)
VALUES (new.id_productos, new.cantidad, resultado, resultado1);
end IF;
end
trigger de update
begin
declare resultado bigint;
declare resultado1 bigINT;
if EXISTS(select * from stock_productos WHERE id_productos = new.id_productos)then
UPDATE stock_productos
set cantidad_total = cantidad_total - old.cantidad, precio_total_compra = precio_total_compra - (old.cantidad * old.precio_compra), precio_total_venta = precio_total_venta - (old.cantidad * old.precio_venta)
WHERE id_productos = old.id_productos;
ELSE
set resultado = (new.cantidad * new.precio_compra);
set resultado1 = (new.cantidad * new.precio_venta);
INSERT into stock_productos(id_productos, cantidad_total, precio_total_compra, precio_total_venta)
VALUES (old.id_productos, old.cantidad, resultado, resultado1);
end IF;
if EXISTS(select * from stock_productos WHERE id_productos = new.id_productos)then
UPDATE stock_productos
set cantidad_total = cantidad_total + new.cantidad, precio_total_compra = precio_total_compra + (new.cantidad * new.precio_compra), precio_total_venta = precio_total_venta + (new.cantidad * new.precio_venta)
WHERE id_productos = new.id_productos;
ELSE
set resultado = (new.cantidad * new.precio_compra);
set resultado1 = (new.cantidad * new.precio_venta);
INSERT into stock_productos(id_productos, cantidad_total, precio_total_compra, precio_total_venta)
VALUES (new.id_productos, new.cantidad, resultado, resultado1);
end IF;
end
me faltaria el trigger delete para mi venta...