User Tools

Site Tools


kurs:procedure_salary_diff

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

kurs:procedure_salary_diff [2014/09/10 21:22]
kurs:procedure_salary_diff [2014/09/10 21:22] (current)
Line 1: Line 1:
 +<​code>​
 +PROCEDURE SALARY_DIFF
 +   IS
 +cursor bonus_salary is
 +  SELECT
 +      first_name,
 +      last_name,
 +      salary
 +    FROM bonus
 +      order by salary desc;
  
 +v_first_name bonus.last_name%TYPE; ​     ​
 +v_last_name ​ bonus.last_name%TYPE;​
 +v_salary ​    ​bonus.salary%TYPE;​
 +v_diff ​      ​bonus.salary%TYPE; ​     ​
 +v_old        bonus.salary%TYPE; ​           ​
 +
 +BEGIN
 +open bonus_salary;​
 +   ​select max(salary) into v_old from bonus;
 +   loop
 +     fetch bonus_salary into v_first_name,​ v_last_name,​ v_salary;
 +     exit when bonus_salary%notfound;​
 +     ​v_diff := v_salary - v_old;
 +     -- dbms_output.put_line(v_last_name||'​ '​||v_salary||'​ '​||v_diff);​
 +     v_old := v_salary;
 +     ​update bonus set difference = v_diff where
 +       ​first_name = v_first_name and
 +       ​last_name ​ = v_last_name; ​
 +     
 +   end loop;
 +close bonus_salary;​
 +     
 +END; -- Procedure
 +</​code>​
kurs/procedure_salary_diff.txt ยท Last modified: 2014/09/10 21:22 (external edit)