1. 编写一个存储过程,名字自拟,有两个输入参数:系部名称、性别。要求给该存储过程传递系部名称和性别后,能修改该系部和该性别对应行的年龄,把年龄减掉3岁。比如传给的值是cs和男,则计算机系的男生年龄全部减掉3岁。执行该存储过程并检查结果。
时间: 2024-03-10 22:49:31 浏览: 40
(存储过程的参数输入输出问题)
可以编写如下的存储过程,命名为`update_age_by_dept_gender`:
```
CREATE PROCEDURE update_age_by_dept_gender(IN dept_name VARCHAR(50), IN gender VARCHAR(10))
BEGIN
UPDATE students
SET age = age - 3
WHERE department = dept_name AND sex = gender;
END;
```
该存储过程有两个输入参数,分别是系部名称和性别。它会根据传入的参数,找到对应的行,并将年龄减去3岁。
执行该存储过程的方法如下:
```
CALL update_age_by_dept_gender('cs', '男');
```
这会将计算机系男生的年龄全部减去3岁。你可以通过查询`students`表,来检查是否成功修改了数据。
阅读全文