Меня попросили написать хранимую процедуру для расчета зарплаты net сотрудника, если мы передадим идентификатор сотрудника в качестве параметра, и были даны формулы, и мне пришлось написать программу Java для этого же. Я пишу эту процедуру сначала в MY SQL WORKBENCH, а затем написал программу Java в Eclipse IDE. Когда я выполняю эту процедуру в MY SQL WORKBENCH, она возвращает NULL как результат, а не зарплату сотрудника. В выводе программы Java Заработная плата сотрудника печатается как 0,0 для всех сотрудников. Это схема таблицы сотрудников. После этой хранимой процедуры я выполнил следующие запросы в QUERY SCRIPT:
call Get_Salary (101, @SALARY); SELECT @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