|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 8 ![]() |
Bonjour,
mon programme exploite une fonction récursive pour rechercher tous les enfants à partir d'un identifiant passé en paramètre. Afin de gagner du temps d'accès réseau, je souhaiterai utiliser une fonction pl/sql. Je système est déjà en production et il ne m'est donc pas possible d'utiliser les intervalles. après avoir lu le cours sur les arborescences du site. la solution par fonction récursive Pere/Fils n'est pas détaillé. cependant y est décrit la fonction permettant récupérer tous les ascendants. Est il possible de récupérer tous les enfants ? Je sais très bien le faire par programmation, mais je n'ai pas grande compétence en PL/SQL pour le traduire. Auriez-vous un exemple ? |
|
|
00
|
|
|
#2 |
![]() ![]() |
La représentation intervallaire sert surtout aux SGBD qui n'implémentent pas de récursivité, heureusement elle a toujours existé chez Oracle.
Quelle est votre version ? Avez-vous quelques exemples à fournir ?
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 8 ![]() |
je travaille avec la 9i, et 11gR1,11gR2
Exemple j'ai une table nommé table Code :
je souhaite avoir 10 en demandant les enfant de 2 (moto) je souhaite avoir 6,7,8,9 en demandant les enfant de 0 (vehicule) j'ai 1,2,3,4,5,6,7,8,9,10 |
||
|
|
00
|
|
|
#4 | ||||
![]() ![]() |
Ça fonctionnera en 9i et 11g :
Code :
Code :
__________________
Email : http://scr.im/waldar |
||||
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 8 ![]() |
merci, pour cette réponse rapide,
cet exemple fonctionne bien si je le copie/colle tel quel dans sqlplus mais pas lorsque j'ai voulu l'adapter a mon cas. j'ai voulu adapté cet exemple voici ce que j'ai ecrit : Code :
ERREUR ORA-00600 : code d'erreur interne,arguments : [qctcte1], [0], [], [], [], [], [], [] ma table comporte bien plus de champs que dans l'exemple, mais cela ne doit pas avoir d'incidence sur la requête puisque je sélectionne uniquement la cle ? dois-je commencer aussi par with matable as (... ? dans ce car quelle syntaxe utiliser pour une table existante ? EDIT : Je n'avais pas vu le la condition LEVEL>1 Maintenant ca fonctionne a merveille Merci. [Resolu] |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com