Hi,

Dans un shéma de tables Maitre Detail, je souhaiterais maintenir par trigger un champs date qui ferait ceci :

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 Aft_Ins_Detail AFTER INSERT ON Detail
FOR EACH ROW
BEGIN
 
UPDATE Maitre
   SET Maitre.DateEntree=(SELECT Max(Detail.DateEntree) 
                            FROM Detail
                           WHERE Detail.MaitreID=Maitre.MaitreID)
 WHERE Maitre.MaitreID=NEW.MaitreID;
 
END //
 
DELIMITER ;
En clair, il s'agit donc de maintenir dans le champs Maitre.DateEntree la date la plus élevée trouvée dans Detail.DateEntree.
Malheureusement, le trigger référence nomément la table "Detail" dans le bloc BEGIN...END ce qui est interdit dans l'état actuel des triggers avec MySQL (5.1)

Je cherche donc une solution alternative pour maintenir ce champs DateEntree (par trigger ou autre).

Une idée ?

Merci

JJE