【发布时间】:2020-08-03 06:17:23
【问题描述】:
我被要求编写一个存储过程来计算员工的净工资,如果我们通过 员工 ID 作为参数并给出了公式,我必须为此编写一个 Java 程序。 我先在 MY SQL WORKBENCH 中编写此程序,然后在 Eclipse IDE 中编写 Java 程序。 当我在 MY SQL WORKBENCH 中执行此过程时,它返回 NULL 作为结果而不是员工的薪水。 在 Java 程序的输出中,所有员工的员工薪水也打印为 0.0。 This the schema of the employee table. 在这个存储过程之后,我在 QUERY SCRIPT 中运行了以下查询:
调用 Get_Salary(101, @SALARY); 选择@SALARY;
CREATE DEFINER=root@localhost` PROCEDURE Get_Salary(IN ID int, OUT SALARY double )
BEGIN
declare Sal, e_commission, Gross_Sal, IT double;
select Salary,Commission into Sal, e_commission from employee where Employee_id = ID;
set Gross_Sal= Sal + e_commission;
if e_commission is null then
set IT= 0.1 * Gross_Sal;
else if e_commission < 500 then
set IT= 0.15 * Gross_Sal;
else
set IT= 0.2 * Gross_Sal;
end if;
set SALARY = Gross_Sal - IT;
END
【问题讨论】:
-
如果您提供表模式会更有帮助。
-
是的,所以我在我的问题中附加了表格架构。
标签: mysql database stored-procedures mysql-workbench java-stored-procedures