Я пытался написать функцию, которая извлекает ставку заработной платы сотрудников на определенную дату;однако я продолжаю сталкиваться с синтаксической ошибкой, которую не могу понять.
Вот мой код:
create function rate_on_date(staff_id INT, given_date DATE)
returns float
DETERMINISTIC
BEGIN
DECLARE hour_rate float;
SELECT DISTINCT salarygrade.HOURLYRATE STATUS INTO hour_rate
FROM salarygrade JOIN staffongrade
ON salarygrade.GRADE = staffongrade.GRADE
WHERE staff_id = staffongrade.STAFFNO
AND given_date BETWEEN staffongrade.STARTDATE AND staffongrade.FINISHDATE;
RETURN hour_rate;
END //
Вот сообщение об ошибке:
Код ошибки: 1064. У вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом со строкой 5