Bonjour à tous,
Je sollicite votre aide car je ne trouve l'information nulle part....
En PL/SQL, je souhaite réaliser des curseurs imbriqués mais mon problème se situe au niveau du fetch.
Tout d'abord je déclare mon curseur - jusque là pas de soucis :
Ces déclarations étant réalisées, ensuite je rentre dans le corps :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 TYPE cur_type_test IS REF CURSOR; cur_test cur_type_test; CURSOR C1 IS SELECT t1.champs1,...,t1.champsN, CURSOR ( SELECT t2.champs1,...,t2.champsN, CURSOR ( SELECT t3.champs1,...,t3.champsN FROM t3 WHERE t3.clé = t2.clé) FROM t2.clé = t1.clé) FROM t1;
Je sais le faire marcher pour deux niveaux par contre je n'arrive pas à le faire fonctionner pour plus...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 BEGIN OPEN c1; LOOP FETCH c1 INTO v_t1chamsp1,..,v_t1chamspN, cur_test EXIT WHEN c1%notfound; LOOP FETCH cur_test INTO v_t2chamsp1,..,v_t2chamspN, -- ! Ici est mon problème ! EXIT WHEN cur_test%notfound; LOOP FETCH ??? INTO v_t3chamsp1,..,v_t3chamspN, EXIT WHEN ??%notfound;
Est-ce que cela est possible ?
Merci pour votre aide.
Partager