【问题标题】:PL/SQL Function How to show salary after increases and salaries that have increased above 10,000PL/SQL函数如何显示加薪和加薪10000以上的工资
【发布时间】:2019-05-30 15:39:55
【问题描述】:
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显示last_name、salary(加薪前)、sal_increase。

如果我想显示一个select语句,只显示工资超过10000的员工?

image

【问题讨论】:

    标签: database oracle plsql oracle11g


    【解决方案1】:

    使用公用表表达式:

    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
    

    【讨论】:

      猜你喜欢
      • 2015-12-12
      • 1970-01-01
      • 2017-03-31
      • 1970-01-01
      • 2019-08-21
      • 2021-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多