j'ai mis en place un trigger qui se déclenche lors d'un UPDATE sur matable1 et qui doit entre autre récupérer la valeur de mon champ fonc par rapport au champ date_modif afin de faire un INSERT de la nouvelle fonc dans matable2.
Mon problème se situe au niveau du SELECT et j'ai essayé cela mais cela ne fonctionne pas :
SELECT r.rid, ep.ref_pers,ep.fonc FROM matable1 ep,matable3 r,matable4 u WHERE ep.fonction=r.na and ep.ref_pers=u.ref_id and TO_DAYS(NOW()) - TO_DAYS(ep.date_modif) <= 1 ORDER BY fonction DESC LIMIT 1;
Les fonctions qui retourne la date ou l'heure courante sont évaluées une fois par requête, tout au début. Cela signifie que des références multiples à la fonction NOW() dans une même requête produiront toujours le même résultat. Ce principe s'applique aussi à CURDATE(), CURTIME(), UTC_DATE(), UTC_TIME(), UTC_TIMESTAMP(), et leurs synonymes.
Il faudrait voir le Trigger en question. C'est un before-update ou after-update ?
Je comprends pas très bien ce que tu veux faire avec ton Select, mais je suppose que le but est de récupérer la ligne que tu viens de modifier ? (quid si plusieurs lignes sont modifiés dans un même update)
Si ton trigger est for-each-row, il y a moyen de récupérer les anciennes et nouvelles valeurs des champs sans faire de Select normalement .
A+,
"'But I don't want to go among mad people,' said Alice. 'Oh, you can't help that,' said the cat. 'We're all mad here.'" Lewis Carroll
SELECT avec comparaison de dates
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
"'But I don't want to go among mad people,' said Alice. 'Oh, you can't help that,' said the cat. 'We're all mad here.'" Lewis Carroll