Bonjour,
Tout d'abord, je suis sur Oracle 9i.
J'utilise les collections sur plusieurs niveaux, c'est-à-dire que je déclare les types suivants :
Ainsi, j'ai des tableaux à 4 dimensions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 TYPE TAB1 IS TABLE OF NUMBER(10) INDEX BY BINARY_INTEGER; TYPE TAB2 IS TABLE OF TAB1 INDEX BY BINARY_INTEGER; TYPE TAB3 IS TABLE OF TAB2 INDEX BY BINARY_INTEGER; TYPE TAB4 IS TABLE OF TAB3 INDEX BY BINARY_INTEGER;
Je sais qu'on peut utiliser la méthode PRIOR pour accéder à l'indice précédent celui qui est passé en argument, de la manière suivante :
http://sheikyerbouti.developpez.com/...?page=Chap5#L5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 W_Tab4 TAB4; x := W_Tab4(i)(j)(k).PRIOR(W_Tab4(i)(j)(k)(l));
J'arrive à le faire fonctionner pour le niveau des tableaux le plus fin, c'est-à-dire le quatrième. Mais je n'arrive pas à utiliser PRIOR pour des niveaux intermédiaires, du style avoir le PRIOR de l'indice k sur W_Tab4 :
Ou :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 x := W_Tab4(i)(j).PRIOR(W_Tab4(i)(j)(k)(l)).(l);
Mais ça ne marche pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 x := W_Tab4(i)(j).PRIOR(W_Tab4(i)(j)(k)).(l);
Merci pour votre aide.
Partager