Bonjour,

je réalise un trigger qui vérifie si la date de la séance (date_session) est 3 mois supérieur à la date de formation (Date_form) lors de l'insertion.

Malheureusement lorsque je réalise les tests d'insertion je reçois comme erreur:
" #1442 - Can't update table 'session' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. "

Après de nombreuses recherches, je reste coincé. j'espère donc que vous pourriez m'aider.

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
 
delimiter //
CREATE TRIGGER chk_date_session
BEFORE INSERT 
ON session FOR EACH ROW
BEGIN
 
IF (select Date_form from formation, session 
        where formation.num_formation = session.num_formation
	and DATE_ADD(Date_form, INTERVAL 3 MONTH) > NEW.date_session)
THEN
        delete from session where num_session = new.num_session;
END IF;
END
delimiter ;