Bonjour,
j'essaye de comprendre les notions de prior et de connect by mais à vrai dire je ne comprends pas trop leur syntaxe et le résultat qu'ils apportent.
Merci si quelq'un connait la réponse de m'aider...
Bonjour,
j'essaye de comprendre les notions de prior et de connect by mais à vrai dire je ne comprends pas trop leur syntaxe et le résultat qu'ils apportent.
Merci si quelq'un connait la réponse de m'aider...
CONNECT BY PRIOR c'est pas spécifique à Oracle cette syntaxe ? Rapport au forum.
Sinon c'est fait pour les traitements recursifs genre les arbres.
Si j'ai
et que tu fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Table1 Id ParentId Descritionp 0 -1 Root 1 0 Fils1 2 1 Petit fils
Tu vas partir du petit fils et remonter vers root[/img]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Select description from table1 Connect By prior Id=parentId start with Id=2
Pour développer un peu :
Quand tu écris
Il faut comprendre qu'ORACLE va chercher une ligne dont le ParentId est égal à l'Id de la ligne ligne précédemment (PRIOR) trouvée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part CONNECT BY PRIOR Id = ParentId
Alors que dans
Il faut comprendre qu'ORACLE va chercher une ligne dont le Id est égal au ParentId de la ligne précédemment (PRIOR) trouvée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part CONNECT BY Id = PRIOR ParentId
Tu peux ajouter une clause START WITH ... pour préciser quelles seront les premières lignes (il faut bien commencer pour avoir une ligne "précédente")
Partager