Sommaire

Les curseurs

Un curseur est un élément qui permet de stocker le résultat d’une requête contenant plusieurs lignes.

Il faut le déclarer dans la section déclarative.

Il faut l’ouvrir par OPEN, l’exécuter par FETCH et le fermer par CLOSE.

Dans l’exemple le pays recherché est passé en paramètre au curseur : CURSOR C_FILMS_PAR_PAYS (PAYSR IN VARCHAR2) IS.

PAYSR est renseigné lors de l’OPEN CURSOR avec la variable qui contient le libellé du pays : OPEN C_FILMS_PAR_PAYS(pays_recherche).

Exemple avec la même requête que précédemment :

DECLARE 
 
-- déclaration du curseur C_FILMS_PAR_PAYS  
CURSOR C_FILMS_PAR_PAYS (PAYSR IN VARCHAR2) IS 
SELECT FILM.TITRE, FILM.DATE_SORTIE, 
       REAL.NOM||’ ’||REAL.PRENOM REALISATEUR, ACTEUR.NOM NOM, 
       ACTEUR.PRENOM PRENOM, ACTEUR.DATE_NAISSANCE, 
       ACTEUR.NB_FILM,STAT.BUDGET, STAT.NB_ENTREE_FRANCE ENTREES 
 
FROM   FILM FILM, REALISATEUR REAL, CASTING CAST, 
       ACTEUR ACTEUR, STATISTIQUE STAT, PAYS PAYS 
WHERE   
   FILM.IDENT_REALISATEUR = REAL.IDENT_REALISATEUR AND 
   FILM.IDENT_FILM        = CAST.IDENT_FILM AND 
   FILM.IDENT_FILM        = STAT.IDENT_FILM AND 
   CAST.IDENT_ACTEUR      = ACTEUR.IDENT_ACTEUR AND 
   PAYS.IDENT_PAYS        = ...