Bonjour à tous,
Base Oracle utilisée : 9iR2.
Je dois écrire une procédure assez compliquée et afin d'optimiser les performances au maximum, j'essaie de minimiser mon nombre de curseurs imbriqués et d'optimiser au maximum mon code SQL pour éviter au maximum les intéractions entre le moteur SQL et le moteur PL/SQL. (Ai je déjà raison sur ce point là ?)
J'ai réussi à tenir cet objectif sur la plupart du code mais il me reste un problème sur une partie de requête.
Voici la forme de ma table principale :
Et voici ce que je recherche à faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 NIVEAU SEQUENCE TACHE CODE_FACT 1 1 tacheA inconnu 2 2 tacheB 3 3 tacheC 1 4 tache2 TITI 2 5 tache5 3 6 tache7 XZYY 4 7 tacheZ 5 8 tacheW 1 9 tache6 TOTO 2 10 tache9 XXXX
Donner toujours les taches elementaires (soit de dernier niveau pour une branche) avec le dernier code_fact de la branche c'est à dire :
J'ai essayé tout ce que j'avais en magasin et en particulier les fonctions analytiques mais là je commence à sécher et je me dis que je vais passer par du PL.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 NIVEAU SEQUENCE TACHE CODE_FACT 3 3 tacheC inconnu 5 8 tacheW XZYY 2 10 tache9 XXXX
Auriez vous des idées ?
Merci d'avance.
Partager