【发布时间】:2020-02-09 08:29:44
【问题描述】:
我需要你的帮助,因为我有点迷路了。我试图在谷歌上查看函数中的游标和关于这些的引用,但我似乎无法完全理解这个概念。我有一个需要做的作业:
- 创建一个我在其中使用游标的函数
- 录入为加薪百分比(例: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 ;
【问题讨论】: