diff --git a/最后一舞/存储函数练习题.md b/最后一舞/存储函数练习题.md index 7ce5f64..d140181 100644 --- a/最后一舞/存储函数练习题.md +++ b/最后一舞/存储函数练习题.md @@ -248,6 +248,26 @@ SELECT is_eligible_for_raise(3000, 1); 创建一个存储函数 `calculate_total_salary_by_dept`,接受部门 ID 作为参数,返回该部门所有员工的总工资。 +```sql +DELIMITER $$ +DROP FUNCTION IF EXISTS calculate_total_salary_by_dept; +CREATE FUNCTION calculate_total_salary_by_dept(dept_id INT) +RETURNS INT +DETERMINISTIC +BEGIN + RETURN ( + SELECT SUM(e.salary) + FROM employee e + WHERE e.dept_id = dept_id + ); +END $$ +DELIMITER ; + +SELECT calculate_total_salary_by_dept(1); +``` + + + #### 练习题 8: 计算职位总工资 创建一个存储函数 `calculate_total_salary_by_job`,接受职位 ID 作为参数,返回该职位所有员工的总工资。