Bonsoir la team,
j'ai parcouru le forum mais je n'ai pas trouvé de réponse à mon problème.
Le lien que j'ai trouvé s'y rapprochant le plus est ici.

Voici mon problème:
je souhaiterais utiliser des nom de variables dynamique pour initialiser une table de type.

Voici la déclaration de ma table de type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
TYPE TABLE_TYPE IS TABLE OF nom_table%ROWTYPE ;
RECORD_LIGNES TABLE_TYPE ;
Voici ce qui me bloque:
je voudrais initialiser ma structure de 100 colonnes ainsi:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
pour i de 1 à 100 colonnes

RECORD_LIGNES(1).col1 = ..
RECORD_LIGNES(1).col2 = ..

fin pour
Par rapport au lien plus haut, pourriez-vous m'indiquer comment affecter le nom de mes variables dynamiques à ma structure?

voici le code utile dans le lien:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
id_cur := dbms_sql.open_cursor;
dbms_sql.parse (id_cur, v_requete, dbms_sql.native);
FOR i = 1 TO nb_colonnes_table loop
   dbms_sql.define_column (id_cur, i, v_val_col, n);
end loop;
v_nblig := dbms_sql.execute (id_cur);
v_nblig := dbms_sql.fetch_rows (id_cur);
FOR i = 1 TO nb_colonnes_table loop
    dbms_sql.column_value (id_cur_mov, 1, v_val_col);
    v_lig := v_lig || v_val_col;
end loop;
- v_val_col doit être déclaré en varchar2(n)
- n est la longueur maxi de tes colonnes (si tu ne souhaites pas prendre de risque, mets 4000)
- nb_colonnes_table est le nombre de colonnes dans ta table
- dans ta variable v_requete, tu dois indiquer les colonnes dans l'ordre souhaité.

Merci de votre aide,
berni.