UPDATE d'un ID successeur
bonjour à tous voici mon problème
j'ai la table suivante :
TOTO :
Code:
1 2 3 4 5
|
ID
CODE
DT_CREATION
ID_SUCCESSEUR |
Je dois mettre à jour l'ID_SUCCESSEUR, la règle est la suivante:
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:
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) |