L3 Info : SGBD
 
◃  Ch. 11 Oracle PL/SQL  ▹
 

Les Curseurs paramétrés

  • Il est également possible d'utiliser des curseurs réutilisables avec différentes valeurs :
    DECLARE
       CURSOR cursLivre (num_min NUMBER, num_max NUMBER) 
        IS SELECT liv_num, liv_titre FROM livre 
           WHERE liv_num BETWEEN num_min AND num_max 
           ORDER BY liv_num;
       recordCursLivre cursLivre%ROWTYPE;
    BEGIN
       OPEN cursLivre(1,10);
       LOOP 
       FETCH cursLivre INTO recordCursLivre;
       EXIT WHEN (cursLivre%NOTFOUND);
       
       ...
       -- les livres 1 à 10 sont traités
       
       END LOOP;
       CLOSE cursLivre;
    END;