Bueno investigue un poco mas y formule la siguiente respuesta espero que me digan que piensan miren: lo que are sera hacer un disparador para la tabla pero ese disárador lo unico que hara sera llamar un procedimiento en el cual hare el resto del procesos algo mas o menos asi:
Código:
Esto para el trigger:
DELIMITER |
CREATE TRIGGER lanzador AFTER INSERT ON tabla
FOR EACH ROW BEGIN
SET @id:=NEW.id, @productor:=NEW.productor, @labor:=NEW.labor, @superficie:=NEW.superficie
@fecha:=NEW.fecha;
CALL insertarComparar(@id, @productor, @labor, @superficie, @fecha)
END
|
Y esrte para el procedimientos:
delimiter |
CREATE PROCEDURE insertarComparar (IN var_id INT, IN var_productor INT, IN var_labor VARCHAR(200), IN var_superficie DOUBLE, IN var_fecha DATE)
BEGIN
SET @sumapro:=0, @resu:=0 ;
SELECT SUM(superficie) INTO @sumapro FROM tabla WHERE productor=var_productor;
@resu=@sumapro-var_superficie;
IF @resu<0 THEN DELETE* FROM tabla WHERE id=var_id;
END IF;
END
|
Les parece que funcione, bueno como quiera lo voy a probar haber que pasa pero si les parece que falla algo les agradeceria que me dijeran.