bonjour à tous voici mon problème
j'ai la table suivante :
TOTO :
Je dois mettre à jour l'ID_SUCCESSEUR, la règle est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ID CODE DT_CREATION ID_SUCCESSEUR
le successeur a le même CODE et sa DT_CREATION est le min des DT_CREATION supérieures à l'enregistrement courant (et dont l'ID est différent de l'ID courant).
Hormis passer par un curseur pour faire la recherche élément par élément je ne vois pas comment faire.
Je suis bloqué par l'interdiction d'utiliser un order by dans la sous requete de selection.
En gros, comment rendre correcte la requete suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 update TOTO a set a.ID_SUCCESSEUR = ( select c.id from (SELECT b.ID FROM TOTO b WHERE a.id <> b.id and a.code = b.code and a.dt_creation < b.dt_creation ) c where rownum = 1)
Partager