Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/06/2006, 15h25   #1
Membre régulier
 
Avatar de maamar1979
 
Inscription : mai 2006
Messages : 174
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 174
Points : 96
Points : 96
Par défaut c'est quoi un curseurs ?

salam;
quelqun peut m'expliquer c'est quoi un curseurs dans un SGBD ?
merci.
maamar1979 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2006, 22h17   #2
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 097
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 53
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 097
Points : 1 706
Points : 1 706
Pour moi un curseur est un mécanisme particulier utilisé entre un programme écrit dans un langage et le SGBD lui-même.

Lorsque qu'une requête va renvoyer plusieurs lignes, il est nécessaire de disposer d'un mécanisme permettant au programme de les parcourir ligne à ligne et c'est le curseur.

On peut aussi considérer que c'est un pointeur dans le programme sur une seule ligne alors que la requête SQL va retourner plusieurs lignes.

Un curseur

- se déclare (définition de la requête)
Code :
1
2
3
4
 
EXEC SQL
 DECLARE CURSOR LE_CURSEUR FOR SELECT ... FROM ... WHERE ...
END-EXEC
- s'ouvre (le SGBD fait l'acquisition de toutes les lignes ou pas c'est selon ... )
Code :
1
2
3
4
 
EXEC SQL
 OPEN LE_CURSEUR
END-EXEC
- se parcourt dans une boucle en récupérant chaque ligne
Code :
1
2
3
4
 
EXEC SQL
 FETCH LE_CURSEUR INTO ...
END-EXEC
- et enfin se ferme
Code :
1
2
3
4
 
EXEC SQL
 CLOSE LE_CURSEUR
END-EXEC
D'un point de vue algorithmique le parcourt d'un curseur peut s'assimiler au parcours d'un fichier séquentiel.
D'autres subtilités existent à propos des curseurs mais elles dépassent le cadre d'une réponse simple et dépendent aussi du SGBD.
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h58.


 
 
 
 
Partenaires

Hébergement Web