PROCEDURE P_BONUS IS cursor c_bonus is SELECT is_emp_bonus.last_name, is_emp_bonus.salary, is_emp_bonus.bonus FROM is_emp_bonus order by is_emp_bonus.salary DESC for update of bonus; type bon_rec_record_type is record (last_name is_emp_bonus.last_name%TYPE, salary is_emp_bonus.salary%TYPE, bonus is_emp_bonus.bonus%TYPE); bon_rec bon_rec_record_type; v_bonus number(30,2); BEGIN for bon_rec in c_bonus loop v_bonus := 0.2; if bon_rec.salary>5000 then v_bonus := 0.05; end if; update is_emp_bonus set bonus = bon_rec.salary*v_bonus where current of c_bonus; end loop; END; -- Procedure