Création d'une procédure qui fait appel à un tableau résultat de retour d'une fo
cs_TIKATKT
Messages postés40Date d'inscriptionmardi 16 février 2010StatutMembreDernière intervention 6 février 2012
-
10 mai 2010 à 12:14
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 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 !
A voir également:
Création d'une procédure qui fait appel à un tableau résultat de retour d'une fo