Bonjour,
Une table ( IB 6.0 ) comporte une clé formée d'un identifiant ( ID ) et d'une date.
Après chaque INSERT , je souhaite rajouter ( dans un champ DATE_PRECED ) pour chaque ID la date de l'enregistrement qui le précéde immédiatement dans le temps ( fonction MAX(date) < date de l'INSERT en cours).
Je suis parvenu ( ouf ! ) à récupérer les dates en question dans un select:
je ne parviens pas à mettre à jour les enregistrements insérés par un UPDATE des valeurs retournées !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 select d1.dateseance from "SEANCES" d, "SEANCES" d1 where d.dateseance = '08/16/2005' and d.id = d1.id and d1.dateseance = ( select max(dateseance) from "SEANCES" where d.id = id and dateseance < '08/16/2005')
Question corrélée : est il possible de rapatrier 2 valeurs ( la date et le poids dans le cas précis ) en une seule requête ?
Question subsidiaire : est il logique de réaliser cette opération systématique grâce à un trigger ?
... comme vous le constatez je suis proche du niveau zéro en SQL !
Merci pour votre aide
Partager