This shows you the differences between two versions of the page.
— |
kurs:uebung_2.1 [2014/09/10 21:22] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <code> | ||
+ | PROCEDURE P_CURS_BONUS | ||
+ | IS | ||
+ | v_bonus number(30,2); | ||
+ | rec_bonus xl_emp_bonus%ROWTYPE; | ||
+ | CURSOR curs_bonus IS | ||
+ | SELECT * | ||
+ | FROM xl_emp_bonus | ||
+ | FOR UPDATE OF bonus; | ||
+ | BEGIN | ||
+ | OPEN curs_bonus; | ||
+ | LOOP | ||
+ | FETCH curs_bonus INTO rec_bonus; | ||
+ | exit when curs_bonus%NOTFOUND; | ||
+ | v_bonus := 0.20; | ||
+ | IF rec_bonus.salary > 5000 THEN | ||
+ | v_bonus := 0.05; | ||
+ | END IF; | ||
+ | UPDATE xl_emp_bonus | ||
+ | SET bonus = rec_bonus.salary * v_bonus | ||
+ | WHERE CURRENT OF curs_bonus; | ||
+ | END LOOP; | ||
+ | CLOSE curs_bonus; | ||
+ | END; | ||
+ | </code> |