Création d'une procédure qui fait appel à un tableau résultat de retour d'une fo

cs_TIKATKT Messages postés 40 Date d'inscription mardi 16 février 2010 Statut Membre Dernière intervention 6 février 2012 - 10 mai 2010 à 12:14
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 10 mai 2010 à 12:28
Bonjour tout le monde !

je travaille avec une base de données Oracle 9i, j'ai ce package :
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 :
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 !

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 mai 2010 à 12:28
Salut
C'est du VB, ça ?
Si c'est purement du sql, mieux vaudrait aller sur http://www.sqlfr.com/

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous