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. Curseurs:déclarer
Il faut l’ouvrir par OPEN, l’exécuter
par FETCH et le fermer par CLOSE. Curseurs:ouvrir Curseurs:exécuter Curseurs:fermer FETCH OPEN
Dans l’exemple, le type de lit recherché est
passé en paramètre au curseur : CURSOR C_chambres_par_type_lit
(TypLit IN VARCHAR2) IS.
TypLit est renseigné lors de l’OPEN
CURSOR avec la variable qui contient le libellé du type
de lit : OPEN C_chambres_par_type_litC(TypLit_recherche).
Exemple avec la même requête
que précédemment :
DECLARE
-- Déclaration du curseur C_chambres_par_type_lit
CURSOR C_chambres_par_type_lit (TypLit in varchar2) IS
SELECT Hotels.Libelle, Chambres.NumChambre, TypesChambre.NombreLit,
TypesChambre.Description
FROM Chambres INNER JOIN
Hotels ON Chambres.Hotel = Hotels.idHotel INNER JOIN
TypesChambre ON Chambres.TypeChambre = TypesChambre.idTypeChambre
WHERE TypeLit = typlit and Etoile = ’**’;
-- Déclaration des variables réceptrices
Libelle_hotel varchar2(50);
Num_Chambre varchar2(6);
NbLit number(38,0);
Descript varchar2(255);
-- Déclaration des autres variables
TypLit_recherche varchar2(20) := ’lit simple’;
BEGIN ...