Функция PL / SQL Как показать зарплату после повышения и зарплаты, которые выросли выше 10000 - PullRequest
0 голосов
/ 04 января 2019
CREATE OR REPLACE FUNCTION sal_increase 
    (p_salary f_emps.salary%TYPE, p_percent_incr NUMBER)
    RETURN NUMBER
    IS
    BEGIN
    RETURN (p_salary + (p_salary * p_percent_incr / 100));
    END;

SELECT last_name, salary, sal_increase(salary, 5)
FROM f_emps;

Приведенный выше запрос QUERY отображает фамилию, зарплату (до увеличения), sal_increase.

что делать, если я хочу отображать оператор выбора, только те сотрудники, которые получают зарплату после увеличения выше значения 10000?

изображение

1 Ответ

0 голосов
/ 04 января 2019

Используйте общее табличное выражение:

WITH cteSalaries AS (SELECT f.LAST_NAME,
                            f.SALARY AS OLD_SALARY,
                            SAL_INCREASE(f.SALARY, 5) AS NEW_SALARY
                       FROM F_EMPS f)
SELECT c.LAST_NAME,
       c.OLD_SALARY,
       c.NEW_SALARY
  FROM cteSalaries c
  WHERE c.NEW_SALARY > 10000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...