Un curseur exécute effectivement un SELECT et vous permet ensuite de parcourir le jeu de résultats, qui est conservé dans un instantané de l'état de la base de données. Étant donné que votre jeu de résultats a déjà été extrait, il ne sera pas affecté par l'instruction UPDATE. (Gérer les choses autrement vous obligerait à relancer la requête à chaque fois que vous avancez votre curseur !)
Voir :
http://www.techonthenet.com/oracle/cursors/declare.php