Bonjour,
Je débute avec les triggers.
J'ai réussi à faire un système de message d'erreur et à l'utiliser dans deux triggers mais cela n'empêche pas l'exécution de l'insertion.
Mon code actuel :
Sans le ROLLBACK, l'erreur est générée mais l'insertion se fait quand même et avec le COMMIT et ROLLBACK, MySQL retourne une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 CREATE TRIGGER tre_cis_max_inscrits BEFORE INSERT ON tj_cnd_inscrire_ssn_cis FOR EACH ROW BEGIN COMMIT; IF ( SELECT COUNT(*) FROM tj_cnd_inscrire_ssn_cis WHERE cis_id_session = NEW.cis_id_session ) + 1 > ( SELECT ssn_capacite FROM te_session_ssn WHERE ssn_id = NEW.cis_id_session ) THEN ROLLBACK; CALL pa_generer_erreur('La capacité d''inscription a été atteinte !'); END IF; END//
#1422 - Explicit or implicit commit is not allowed in stored function or trigger.
Partager