Vous n'êtes pas identifié(e).
Pages : 1
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
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
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
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
Rahhh, je viens de voir que Marc m'a doublé ....
Guillaume.
Hors ligne
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