Я пытаюсь создать представление с функцией внутри.
Когда я хочу посмотреть на созданный вид, я получаю сообщение об ошибке
1318 - Неверное количество аргументов для функции ret_stat; ожидается 1, получил 0
Это моя функция:
DELIMITER //
CREATE FUNCTION ret_stat (ret_stat CHAR (50))
RETURNS CHAR DETERMINISTIC
BEGIN
DECLARE result CHAR;
SET result = "";
SET result =
CASE (result)
WHEN (65-(YEAR(CURDATE()) - YEAR(bdate))) > 5 THEN '5 plus years'
WHEN (65-(YEAR(CURDATE()) - YEAR(bdate))) > 4 THEN '5 years left'
WHEN (65-(YEAR(CURDATE()) - YEAR(bdate))) > 3 THEN '4 years left'
WHEN (65-(YEAR(CURDATE()) - YEAR(bdate))) > 2 THEN '3 years left'
WHEN (65-(YEAR(CURDATE()) - YEAR(bdate))) > 1 THEN '2 years left'
WHEN (65-(YEAR(CURDATE()) - YEAR(bdate))) = 1 THEN '1 year left'
WHEN (65-(YEAR(CURDATE()) - YEAR(bdate))) = 0 THEN 'Soon retirement'
WHEN (65-(YEAR(CURDATE()) - YEAR(bdate))) < 0 THEN 'Retired'
END;
RETURN result;
END //
DELIMITER ;
... и это мой запрос на мой взгляд:
CREATE VIEW ret_stat_view AS
SELECT fname, lname, faculty, ret_stat()
FROM employees;