Курсорът ефективно изпълнява SELECT и след това ви позволява да итерирате набора от резултати, който се съхранява в моментна снимка на състоянието на DB. Тъй като вашият набор от резултати вече е извлечен, той няма да бъде засегнат от оператора UPDATE. (Бравенето с неща по друг начин би изисквало да изпълнявате отново заявката всеки път, когато придвижите напред курсора!)
Вижте:
http://www.techonthenet.com/oracle/cursors/declare.php