使用PL / SQL函数获取员工薪酬记录

时间:2016-11-16 22:33:14

标签: sql database oracle plsql

我是stackoverflow的新手,也是PL / SQL的新手。我正在研究一些PL / SQL问题并尝试解决这个问题。

基本上,我想创建一个名为GET_ANNUAL_INCOME的PL / SQL函数,以返回指定员工的年度薪酬,根据此公式计算员工的月薪和佣金:

  annual_ income = salary*12 +(commission_pct*salary*12)

GET_ANNUAL_COMPN函数应接受一个参数 - 员工ID,并对er.employees tbl使用适当的查询来计算该员工的年收入。我想在select语句中使用上面的公式来获得年薪

我创建了这个函数 - (这是正确的吗?)

CREATE FUNCTION GET_ANNUAL_INCOME (iEmpId IN INT) 
RETURN FLOAT 
IS annual_income FLOAT;

BEGIN  

SELECT salary *12 +(commission_pct*salary*12) 
INTO annual_income
FROM Employee 
WHERE EmpId = iEmpId;
RETURN(annual_income);

END;

问题的第二部分是我想弄清楚的。是否有人可以帮助我或指导我。

2 个答案:

答案 0 :(得分:0)

看起来很好。

您现在可以查询特定的empid

select GET_ANNUAL_INCOME(empid) from employee;

或一组empid

<FilesMatch ".*\.(php|png|ico)$">
    Allow from all
</FilesMatch>

答案 1 :(得分:0)

你的功能看起来很好!!!

如果需要,可以添加例外块,以便在运行时不会遇到意外错误。

可以像

那样完成

创建或替换 ...

返回..

例外 当别人的话 log_error_in_table 结束; /