Trigger timetout

juju62 -  
 juju62 -
Bonjour,
J'ai un timeout à l'execution de ce trigger dans phpMyAdmin, auriez-vous une idée du pourquoi?
Merci d'avance
DROP TRIGGER IF EXIST trigger_fluvial;
DELIMITER //
CREATE TRIGGER trigger_fluvial AFTER INSERT ON mouvements
FOR EACH ROW
BEGIN
	IF(NEW.bateau_sup != "1") THEN
		DECLARE dateMax DATETIME;
		DECLARE c CURSOR FOR SELECT MAX(date_sassee) FROM statistiques_fluviales;
		OPEN c;
		FETCH c into dateMax;
	
		IF(dateMax != NEW.date_debut) THEN
			IF(NEW.incident="") THEN
				INSERT INTO statistiques_fluviales(ecluse, nb_incident1, nb_incident2, nb_sassees_incident_ecluse_semaine, nb_sassees_total_ecluse_semaine, date_sassee)
					VALUES(NEW.ecluse, 0, 0, 0, 1, NEW.date_debut);
			END IF;
			IF(NEW.incident="1") THEN
				INSERT INTO statistiques_fluviales(ecluse, nb_incident1, nb_incident2, nb_sassees_incident_ecluse_semaine, nb_sassees_total_ecluse_semaine, date_sassee)
					VALUES(NEW.ecluse, 1, 0, 1, 1, NEW.date_debut);
			END IF;
			IF(NEW.incident="2") THEN
				INSERT INTO statistiques_fluviales(ecluse, nb_incident1, nb_incident2, nb_sassees_incident_ecluse_semaine, nb_sassees_total_ecluse_semaine, date_sassee)
					VALUES(NEW.ecluse, 0, 1, 1, 1, NEW.date_debut);
			END IF;
		ELSE
			IF(NEW.incident="1") THEN
				UPDATE statistiques_fluviales
				SET nb_incident1=nb_incident1+1, 
					nb_sassees_incident_ecluse_semaine=nb_sassees_incident_ecluse_semaine+1,
					nb_sassees_total_ecluse_semaine=nb_sassees_total_ecluse_semaine+1
				where ecluse = NEW.ecluse and date_sassee=NEW.date_debut;
			END IF;
			IF(NEW.incident="2") THEN
				UPDATE statistiques_fluviales
				SET nb_incident2=nb_incident2+1, 
					nb_sassees_incident_ecluse_semaine=nb_sassees_incident_ecluse_semaine+1,
					nb_sassees_total_ecluse_semaine=nb_sassees_total_ecluse_semaine+1
				where ecluse = NEW.ecluse and date_sassee=NEW.date_debut;
			END IF;
			IF(NEW.incident="") THEN
				UPDATE statistiques_fluviales
				SET	nb_sassees_total_ecluse_semaine=nb_sassees_total_ecluse_semaine+1
				where ecluse = NEW.ecluse and date_sassee=NEW.date_debut;
			END IF;
		END IF;
	END IF;
END; //
DELIMITER ;
A voir également:

1 réponse

juju62
 
Personne n'a une petite idée?
0