Les curseurs
1. Présentation
• Dans le cas ou l’ordre SELECT renvoie plusieurs
lignes, il faut définir des curseurs
• Exemple: Écrire un bloc PL-SQL permettant
d’afficher les noms des pilotes dont les salaires
sont > à 2200DT
• Solution ?
SELECT nom Cette solution n’est pas
INTO v_nom valable parce qu’on ne peut
FROM Pilote pas affecter plusieurs Vals à
WHERE sal>2200; une seule variable.
v_sal pilote.sal%type);
r_pil t_pil;
CURSOR C3 IS SELECT nom,sal FROM pilote where sal>2200;
BEGIN
OPEN C3;
LOOP
FETCH C3 INTO r_pil;
EXIT WHEN C3%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('Nom: ' || r_pil.v_nom ||' Salaire: ' ||
r_pil.v_sal);
END LOOP;
CLOSE C3;
ESB - 2021/ 2022 66
END;
7. Forme syntaxique condensée