[PLSLQ] collections record et tableau
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
CREATE OR REPLACE PACKAGE Mon_Package IS
TYPE t_rec_prog IS RECORD (num prog.id%TYPE,
nom prog.nom%TYPE,
type prog.type%TYPE);
TYPE tab_t_rec_prog IS TABLE OF T_REC_BUG INDEX BY BINARY_INTEGER;
FUNCTION MesProg (p_i NUMBER,
p_parametre1 NUMBER,
p_parametre1 NUMBER ) RETURN TAB_T_REC_PROG;
END Mon_Package;
/
CREATE OR REPLACE PACKAGE BODY Mon_Package IS
FUNCTION MesProg (p_i NUMBER,
p_parametre1 NUMBER,
p_parametre1 NUMBER) RETURN TAB_T_REC_PROG IS
CURSOR curs IS SELECT num, nom, type
FROM prog
WHERE nom = p_parametre1
AND type = p_parametre2;
t_rec TAB_T_REC_PROG;
i NUMBER := 1;
BEGIN
FOR rec IN curs LOOP
t_rec(i).num := curs.num;
t_rec(i).nom := curs.nom;
t_rec(i).type := curs.type;
i := i+1;
END LOOP;
RETURN(t_rec(p_i));
END Mon_Package;
/ |
Vous voyez l'erreur?
En fait je cree un type tableau qui contient des record et je retourne a lappelant le record qui corespond a lindice passe en parametre
Code:
1 2 3 4 5 6 7 8 9 10 11
|
62/5 PL/SQL: Statement ignored
62/30 PLS-00225: subprogram or cursor 'CURS' reference is out of scope
63/5 PL/SQL: Statement ignored
63/32 PLS-00225: subprogram or cursor 'CURS' reference is out of scope
64/5 PL/SQL: Statement ignored
64/32 PLS-00225: subprogram or cursor 'CURS' reference is out of scope
65/5 PL/SQL: Statement ignored
65/31 PLS-00225: subprogram or cursor 'CURS' reference is out of scope
69/3 PL/SQL: Statement ignored
69/9 PLS-00382: expression is of wrong type |
[/code]