This shows you the differences between two versions of the page.
— |
kurs:function_f_get_employee_salary [2016/05/04 15:17] (current) mh created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <code> | ||
+ | create or replace | ||
+ | FUNCTION F_GET_EMPLOYEE_SALARY | ||
+ | (v_first_name in employees.first_name%type, | ||
+ | v_last_name in employees.last_name%type) | ||
+ | RETURN NUMBER AS | ||
+ | v_salary employees.salary%type; | ||
+ | v_hire_date employees.hire_date%type; | ||
+ | BEGIN | ||
+ | select salary, hire_date into v_salary, v_hire_date | ||
+ | from employees | ||
+ | where first_name = v_first_name and | ||
+ | last_name = v_last_name; | ||
+ | | ||
+ | if v_hire_date < sysdate - to_yminterval('10-0') then | ||
+ | v_salary := v_salary * 1.1; | ||
+ | end if; | ||
+ | |||
+ | RETURN v_salary; | ||
+ | END F_GET_EMPLOYEE_SALARY; | ||
+ | </code> | ||
+ | |||
+ | select first_name, | ||
+ | last_name, | ||
+ | salary, | ||
+ | hire_date, | ||
+ | f_get_employee_salary( | ||
+ | v_last_name => last_name, | ||
+ | v_first_name => first_name | ||
+ | ) as calc_salary from employees; | ||