Trigger mysql, erreur de syntaxe
juju62
-
dam75 Messages postés 1063 Date d'inscription Statut Webmaster Dernière intervention -
dam75 Messages postés 1063 Date d'inscription Statut Webmaster Dernière intervention -
Bonjour,
J'essaie de créer mon premier trigger mais je n'y arrive pas, il y a une erreur de syntaxe que je n'arrive pas à résoudre :( Est ce que quelqu'un pourrait m'aider? Je vous remercie par avance
Voici le message d'erreur :
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE @dateMax DATETIME
SELECT @dateMax = MAX(date_sassee) FROM statistiques' at line 2
J'essaie de créer mon premier trigger mais je n'y arrive pas, il y a une erreur de syntaxe que je n'arrive pas à résoudre :( Est ce que quelqu'un pourrait m'aider? Je vous remercie par avance
CREATE TRIGGER trigger_fluvial AFTER INSERT ON mouvements DECLARE @dateMax DATETIME SELECT @dateMax = MAX(date_sassee) FROM statistiques_fluviales; 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) 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) 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) 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;
Voici le message d'erreur :
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE @dateMax DATETIME
SELECT @dateMax = MAX(date_sassee) FROM statistiques' at line 2
A voir également:
- Trigger mysql, erreur de syntaxe
- Mysql community server - Télécharger - Bases de données
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- J'aime par erreur facebook notification - Forum Facebook