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...
Version imprimable
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 faisCode:
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:
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: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: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")