Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 04/12/2009 16:35:01
- FNo
- Membre
Petite question de curseur
Bonjour,
Voulant faire une itération sur un curseur, il m'est venu l'interrogation suivante : Comment revenir proprement au début?
J'utilise la commande Fetch pour me balader et move first à la fin. Oui mais voilà, après le move, la commande fetch passe au next, sautant le premier enregistrement. Illustration avec un exemple:
loop
fetch from my_cursor into my_record;
exit when my_record is null;
.
.
.
end loop;
move first from my_cursor;
move backward from my_cursor; --force le curseur au BOF
Je dois mal m'y prendre, il y a sûrement une façon de coder d'une meilleure façon. Merci de bien vouloir m'éclairer ;)
Hors ligne
#2 04/12/2009 19:37:14
- Marc Cousin
- Membre
Re : Petite question de curseur
Pour se mettre avant le premier enregistrement, il doit suffire de faire un "move absolute 0 from my_cursor" je pense (non testé?)
Marc.
Hors ligne
#3 04/12/2009 19:46:29
- gleu
- Administrateur
Re : Petite question de curseur
MOVE 0 ?
(je n'ai pas testé, mais il serait intéressant que tu testes et que tu nous tiennes au courant )
Guillaume.
Hors ligne
#4 04/12/2009 19:48:38
- gleu
- Administrateur
Re : Petite question de curseur
Après lecture de la doc, un « MOVE ABSOLUTE 0 » me paraît plus crédible. Voir http://docs.postgresql.fr/8.4/sql-fetch.html (oui, c'est la doc de FETCH mais les clauses de direction sont identiques et n'apparaissent que là).
Guillaume.
Hors ligne
#5 04/12/2009 19:49:00
- gleu
- Administrateur
Re : Petite question de curseur
Rahhh, je viens de voir que Marc m'a doublé ....
Guillaume.
Hors ligne
#6 09/12/2009 16:21:46
- FNo
- Membre
Re : Petite question de curseur
C'était écrit tellement petit dans la documentation que j'y suis passé à côté (la police de caractère n'est pas des plus lisible). J'ai pas tenté le zéro à cause du réflexe 0=première ligne. Merci à vous.
Hors ligne
Pages : 1