La question est dans le sujet, cependant, je vais préciser ma pensée :
Soit un curseur que je déclare avant le begin de ma procédure
stockée :
CURSOR mon_surseur IS
SELECT colC1, colC2, colC3 FROM ma table;
TYPE t_mon_curseur IS TABLE OF mon_curseur%ROWTYPE;
f_mon_curseur t_mon_curseur;
Ensuite, dans ma procédure, j ai:
OPEN mon_curseur;
FETCH mon_curseur BULK COLLECT INTO f_mon_curseur;
CLOSE mon_curseur;
FORALL indx IN f_mon_curseur.FIRST..f_mon_curseur.LAST
UPDATE une_table where une_table.col1 = f_mon_curseur.colC2(indx)
WHERE une_table.id = f_mon_curseur.colC1(indx)
...
En fait, j'ai essayé f_mon_curseur.colC1(indx) ou
f_mon_curseur(indx).colC1
mais aucun ne marche, je serai étonné qu'il faille obligatoirement
créer le type TABLE OF de chaque colonne que mon curseur renvoie.
Evidemment, le pb a été simplifié, il s'agit par la suite d'avoir
plusieurs curseurs qui mettent à jour plusieurs table.
L'erreur étant PLS-00302 me disant "componet colC2 must be declared".
Merci pour vos réponses.
Cordialement,
Chmanu
> Je remarque que l'ensemble du sujet n a pas été pris, je précise
> donc :
> je suis en Oracle10g.
Pourtant news:93d7d2fe-93ea-4fc4...@59g2000hsb.googlegroups.com
contient bel et bien
« Subject: [oracle 10g] Est il possible de récupérer la valeur d'une
colonne depuis un curseur défini via ROWTYPE ».
C'est le service web d'interface logicielle d'affichage d'article usenet
que vous utilisez
http://groups.google.com/group/fr.comp.applications.sgbd/msg/a6876dbf19443b37
qui supprime les balises du champs Subject.
Voir news:fr.comp.usenet.lecteurs-de-news pour plus de renseignements.