Bonjour,
Dans une procédure j'aurais besoin d'ouvrir deux cursors, est-ce possible?
J'ai un premier cursor qui doit me permettre d'effectuer une requete dans un autre cursor.
Comment m'y prendre?
Merci d'avance
Bonjour,
Dans une procédure j'aurais besoin d'ouvrir deux cursors, est-ce possible?
J'ai un premier cursor qui doit me permettre d'effectuer une requete dans un autre cursor.
Comment m'y prendre?
Merci d'avance
Bonjour,
Oui tu peux déclarer autant de curseur que tu veux. Mais si le premier te sert à exécuter le second la solution sera la suivante :
Pour rappel, cette écriture utilisant un FOR te déclare automatiquement le curseur, te l'ouvre, te le parcours et te le ferme (cela t'évite d'écrire les 4 instructions).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 FOR curseur1 IN (SELECT nom, prenom FROM ...) LOOP FOR curseur2 IN (SELECT * FROM ... WHERE nom=curseur1.nom) LOOP // do stuff END LOOP; END LOOP;
Cordialement
Faitez vos jointures en SQL et non pas dans le code PL/SQL (java, VB, C, ...).
Partager