Мне нужна твоя помощь, потому что я отчасти потерян. Я пытался найти в google курсоры в функциях и ссылки на них, но мне кажется, что я не совсем понимаю эту концепцию. У меня есть домашнее задание, где мне нужно:
- Создать функции, в которых я использую курсоры
- Запись представляет собой процент увеличения зарплаты (например: 5% - это 0,05)
- Функции должны обновить зарплату с новой увеличенной ценой
- Показать новую среднюю зарплату
- И устранить возможные ошибки
Этоэто то, что я сделал до сих пор ...
Можете ли вы помочь мне решить проблему с подсказкой или хотя бы с простыми примерами / ресурсами курсоров в функциях, чтобы я мог лучше понять концепцию.
DROP FUNCTION IF EXISTS Program;
DELIMITER //
CREATE FUNCTION Program(IncSal DECIMAL(3,2))
RETURNS DECIMAL(8,2)
DETERMINISTIC
BEGIN
DECLARE Salaire DECIMAL (8,2);
DECLARE end BOOLEAN DEFAULT FALSE;
DECLARE CurSalary CURSOR FOR
SELECT Sala_EMPL
FROM EMPLOYE;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET end = TRUE;
OPEN CurSalary;
loop_cursor: LOOP
IF end THEN
LEAVE loop_cursor;
END IF;
UPDATE EMPLOYE
SET Sala_EMPL=(Sala_EMPL*IncSal);
END LOOP;
CLOSE CurSalary;
RETURN AVG(CurSalary);
END;
//
DELIMITER ;