Curseurs Curseur

Un curseur est utilisé par une application pour récupérer les résultats des requêtes : de cette façon, il est possible de récupérer une quantité contrôlée d’enregistrements, ce qui est particulièrement utile lorsque la requête SQL est susceptible de retourner un grand nombre d’enregistrements. Un curseur déclaré est utilisable pendant toute la durée de la transaction, mais pas au-delà.

La commande DECLARE permet d’enregistrer un curseur, correspondant à une requête, dans la session courante. Le synopsis de la commande est le suivant :

DECLARE nom [ BINARY ] 
   [ [ NO ] SCROLL ] 
   CURSOR 
   [ { WITH | WITHOUT } HOLD ] 
   FOR requete 

L’option BINARY permet de retourner les données au format binaire de PostgreSQL. Les données doivent alors être décodées par l’application cliente.

L’option SCROLL autorise la récupération des résultats dans un ordre différent de l’ordre normal de la requête. L’option NO interdit ce comportement. Par compatibilité, PostgreSQL adopte le comportement de l’option SCROLL par défaut lorsque la requête SQL est assez simple pour le permettre sans surcoût.

L’option HOLD permet de conserver les résultats en dehors de la transaction, avec la valeur WITH HOLD. L’option WITHOUT...

Pour consulter la suite, découvrez le livre suivant :
couv_RIPOST.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Requêtes préparées
Suivant
Récupération de résultats paginés sans curseur