Een cursor voert in feite een SELECT uit en laat u vervolgens de resultatenset herhalen, die wordt bewaard in een momentopname van de DB-status. Omdat uw resultatenset al is opgehaald, wordt deze niet beïnvloed door de UPDATE-instructie. (Als je de zaken anders afhandelt, moet je de query elke keer dat je de cursor naar voren beweegt opnieuw uitvoeren!)
Zie:
http://www.techonthenet.com/oracle/cursors/declare.php