[8i][forms 6i] nested table
Bonjour tout le monde,
Sous forms 6i, je souhaite créer un tableau de VARCHAR2 dont la taille n'est pas connue à l'avance.
D'après ce que j'ai vu et compris sur la doc officielle, une solution idéale consisterait à utiliser une nested table.
J'arrive à déclarer une nested table mais je bloque sur l'utilisation d'un constructeur vide et l'assignation d'un nombre quelconque de valeurs.
Ex :
Code:
1 2 3 4 5 6 7
| DECLARE
TYPE ROSTER IS TABLE OF VARCHAR2(15);
NAMES ROSTER := ROSTER('PAT');
BEGIN
NAMES(1) := 'BOB';
DBMS_OUTPUT.PUT_LINE(NAMES(1));
END; |
produit :
Citation:
BOB
PROCÉDURE PL/SQL TERMINÉE AVEC SUCCÈS.
Mais :
Code:
1 2 3 4 5 6 7
| DECLARE
TYPE ROSTER IS TABLE OF VARCHAR2(15);
NAMES ROSTER;
BEGIN
NAMES(1) := 'BOB';
DBMS_OUTPUT.PUT_LINE(NAMES(1));
END; |
produit
Citation:
DECLARE
*
ERROR À LA LIGNE 1 :
ORA-06533: SUBSCRIPT BEYOND COUNT
ORA-06512: AT LINE 5
Remarque : j'ai bien trouvé une solution :
Code:
1 2 3 4 5 6 7 8 9 10 11
| 1 DECLARE
2 TYPE Roster IS TABLE OF VARCHAR2(15) INDEX BY BINARY_INTEGER;
3 names Roster;
4 BEGIN
5 names(1) := 'BOB';
6 dbms_output.put_line(names(1));
7* END;
8 /
BOB
Procédure PL/SQL terminée avec succès. |
mais ce n'est plus une nested table mais un associative array.
Comment faire pour assigner à une nested table un nombre quelconque de valeurs sans avoir à spécifier de taille initiale ?
Merci à vous tou(te)s