Bonjour à toutes et à tous.

A propos de mon code, je suis amené à m'intéresser aux curseurs et aux exceptions aussi j'aimerais savoir si, pendant la lecture de mon curseur dans une boucle, si je suis amené à lever une exception, je dois d'abord fermer le curseur par un close ?

Exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
FUNCTION F_MaFonction(pParam1 IN NUMBER, pParam2 IN NUMBER)
RETURN NUMBER
IS
    CURSOR cMonCursor
    IS
        requete select;

    vMonCursor cMonCursor%ROWTYPE;
    vMonException EXCEPTION;
    vCrFonction NUMBER;
BEGIN
    OPEN cMonCursor;
    LOOP
        FETCH cMonCursor INTO vMonCursor;
        blablabla
 
        IF(gnagnagna) THEN
            CLOSE cMonCursor (dois-je fermer le curseur ?)
            RAISE vMonException;
        END IF;

         patatipatata
    END LOOP;
    CLOSE cMonCursor;

    RETURN vCrFonction;
END F_MaFonction;
Merci d'avance

Bahan

PS : desole, je n'arrive pas a bien afficher la balise code il y a donc une barre de défilement, si quelqu'un sait comment enlever ça ?