Bonjour à tous
Je suis débutant en plsql, donc pardonnez moi d'avance
Je réalise un script en plsql donc, sous Oracle9, qui a pour but de récupérer des enregistrement pour les insérer autre part.
Pour cela, j'ai besoin de deux boucles.
La première récupères toutes les lignes d'une requête donnée et notamment un id.
Pour chaque id, je passe une nouvelle requête, et je boucle sur les résultats de cette dernière pour insérer mes données.
Mon problème est le suivant: j'aimerai place les resulttats de ma seconde requête (dépendant des résultats de la première), dans un curseur pour pouvoir boucler dessus.
Problème: Le curseur doit être, si j'ai bien compris, déclarer au tout début, dans le déclare, et donc à ce moment là, je ne connais pas les résultats de ma première requête, d'ou le problème... logique
Pour faire simple, ce que j'aimerai faire mais qui ne marche pas bien sur, c'est ceci:
Ce qui me gêne donc ici, c'est que je suis obligé, pour utiliser un curseur, de le déclarer dès le début, et dans mon cas, c'est impossible à faire...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE maprocedure{ moncurseur1 correspondants à ma première requête moncurseur2 vide, car, je ne connais pas ma seconde requête BEGIN FOR sur chaque lignes de ma première requête SELECT * INTO moncurseur2 FROM xxxx where id=champIDdechaquelignedemapremiererequete FIN DU FOR END;
merci de votre aide![]()






Répondre avec citation
Partager