Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à tous,
J'écris ce petit post, car j'avoue que mes connaissances en PostGreSQL sont limitées étant donné que je débute. Après quelques heures de recherche sur les curseurs, je rencontre un problème.
Le contexte :
Je développe une application qui communique avec une base PostGreSQL. Une des fonctions de la base, par l'appel d'une procédure stockée, est de renvoyer un grand nombre d'enregistrements.
Pour ne pas surcharger la mémoire, et étant donné que je n'aimerai afficher que 5 lignes des résultats par 5 lignes, je cherche une solution propre pour paginer la réponse de cette fonction.
Les curseurs semblent bien appropriés.
Mon problème :
J'ai une procédure stockée qui retourne un curseur sur le résultat de ma requête. Jusque là, pas de pb. Maintenant, j'aimerai développer une fonction Next(Nbre d'enregistrements à afficher), et Previous(Nbre d'enregistrements à afficher).
J'aimerai que ces fonctions ne prennent pas de paramètre curseur en entrée, et qu'elles me renvoie, respectivement, les 5 enregistrements suivant, et les 5 enregistrements précédent.
J'aurai imaginé faire : FOR record_var in FETCH FORWARD 5 IN mon_curseur LOOP RETURN NEXT record_var END LOOP;
mais PostGreSQL m'insulte quand je tente de créer cette fonction next()/previous().
Est-ce la meilleure façon de procéder?
Merci,
Mathieu.
Hors ligne
Bonne question. Avoir le message d'erreur et le code de la fonction permettrait de mieux comprendre le problème.
Guillaume.
Hors ligne
Bonjour gleu,
décidément c'est toi qui est d'astreinte sur ce forum? ;o)
Non en fait j'ai contourné le problème.
En fait je vais utiliser le curseur directement depuis mon programme en C.
A l'origine je voulais gérer le tout dans PostGreSQL mais apparemment on ne peut pas.
Hors ligne
Pages : 1