Curseur %NOTFOUND et %ROWCOUNT=2
Bonjour,
J'ai un curseur explicite dont la requête exécutée directement me retourne 2 enregistrements. Mais le curseur ne me retourne rien.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| OPEN cur_niv2;
LOOP
FETCH cur_niv2 BULK COLLECT INTO vDonneeNiv2;
IF cur_niv2%NOTFOUND THEN
=> log( 'NOTFOUND ' || cur_niv2%ROWCOUNT);
ELSE
=> log( 'FOUND ' || cur_niv2%ROWCOUNT);
END IF;
EXIT WHEN cur_niv2%NOTFOUND;
FOR cpt_niv2 IN vDonneeNiv2.FIRST..vDonneeNiv2.LAST
LOOP
=> log(vDonneeNiv2(cpt_niv2).ReferenceBoutEnBout);
END LOOP;
END LOOP;
CLOSE cur_niv2; |
Et la log (que j'ai tronquée dans le code ici) donne :
Je précise que vDonneeNiv2 est de type TABLE OF d'un RECORD.
Et la définition du record correspond bien au curseur.
Je trouve ça bizarre et je n'ai pas d'explications.
Pouvez-vous m'aider SVP :lol: