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
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]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager