Bonjour tout le monde !

je travaille avec une base de données Oracle 9i, j'ai ce package :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CREATE OR REPLACE PACKAGE SYSTEM.MonPackage IS
 
TYPE Enr1 IS RECORD (Enr1_Var1 number(4),Enr1_Var2 varchar2(1));
TYPE Enr2 IS RECORD (Enr2_Var1 NUMBER(15,2),Enr2_var2 NUMBER(3),Enr2_Var3 NUMBER(1));
TYPE Tab1 IS TABLE OF Enr2 INDEX BY BINARY_INTEGER;
TYPE Enr3 IS RECORD (Enr3_Var1 number(4),Enr3_Tab1 Tab1,Enr3_Var2 NUMBER(3));
 
 
TYPE Tab_Enr1 IS TABLE OF Enr1 INDEX BY BINARY_INTEGER;
TYPE Tab_Enr3 IS TABLE OF Enr3 INDEX BY BINARY_INTEGER;
 
TYPE Res_Enr IS RECORD(     Res_Enr_Var     varchar2(25),
                            T_Tab_Enr1      Tab_Enr1,
                            T_Tab_Enr3      Tab_Enr3); 
 
 
FUNCTION MaFonction(Param varchar2) RETURN Res_Enr; 
 
END;--package 
/
Je veux créer une procédure stockée qui aura en paramètre de sortie les tableaux contenu dans le record 'Res_Enr'. En fait pour les types simples, comme dans ce cas la valeur de 'Res_Enr_Var' je les retourne comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
CREATE OR REPLACE PROCEDURE SYSTEM.MaProcedure (Param1 in varchar, Param2 out varchar ) IS  
  R                 MonPackage.Res_Enr;
 
BEGIN
  R:=MonPackage.MaFonction(Param1);                
 
  Param2 := R.Res_Enr_Var ;
 
END;
/
et ça fonctionne bien, ! maintenant il me reste les tableaux ...

Merci d'avance pour vos réponses et bonne journée !