Bonjour,
Comment fait on pour initialiser un tableau composite en début de traitement?
Ce tableau fait plusieurs lignes et plusieurs colonnes qui sont de types différents...
Merci pour vos réponses.
Version imprimable
Bonjour,
Comment fait on pour initialiser un tableau composite en début de traitement?
Ce tableau fait plusieurs lignes et plusieurs colonnes qui sont de types différents...
Merci pour vos réponses.
Quelle est la déclaration de votre "tableau composite" ?
En fait j'ai défini un type RECORD, puis un type TABLE OF qui est mon ensemble de RECORD.
Voilà,...
Ok, c'est simple
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 Declare -- record -- Type T_REC is record ( ch1 Number, ch2 Varchar2(30) ) ; -- table of records -- Type Tab_Rec Is Table of T_Rec INDEX BY Binary_Integer ; -- table of records variable -- ttab Tab_Rec ; Begin For i In 1 .. 10 Loop ttab(i).ch1 := i ; ttab(i).ch2 := to_char(i) ; End loop ; End ;
Je voulais faire comme ça... Mais qui me dit qu'il n'y a que 10 lignes... Je pensais qu'il y avait une fonction...
Ou alors ce serais encore mieux si quelqu'un m'assurait qu'au début d'une procédure PL/SQL, mon tableau est toujours vide s'il est déclaré en OUT bien entendu...
C'est un exemple pour démonter comment on renseigne les membres d'une collection.
Peut-être votre question en appele t-elle d'autres...
jetez un coup d'oeil à ce tuto:
http://sheikyerbouti.developpez.com/pl_sql/?page=Chap5
Je n'ai pas trouvé ce que je veux... J'ai donc initialisé la première line à NULL... Tant pis...
Merci à vous...
Il suffit de declarer une variable local du meme type et de l'assigner en debut de traitement.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 PROCEDURE my_proc (o_variable OUT my_collection) IS l_variable_null my_collection; BEGIN o_variable := l_variable_null; ... END;