写一个MySQL建立一个存储函数 给定读者的姓名,判断类别,如果是学生,返回可借天数,若不是返回-1得代码
时间: 2024-03-15 17:44:28 浏览: 65
好的,以下是建立存储函数根据读者姓名判断其类别并返回可借天数的MySQL代码:
```sql
CREATE FUNCTION get_borrow_days(reader_name VARCHAR(50))
RETURNS INT
BEGIN
DECLARE reader_type VARCHAR(10);
DECLARE borrow_days INT;
SELECT type INTO reader_type FROM readers WHERE name = reader_name;
IF reader_type = 'student' THEN
SET borrow_days = 30;
ELSEIF reader_type = 'teacher' THEN
SET borrow_days = 90;
ELSE
SET borrow_days = -1;
END IF;
RETURN borrow_days;
END;
```
这个函数的作用是根据读者姓名判断其类别,并返回可借天数。在函数中,我们首先声明一个`reader_type`变量用于存储读者的类别,以及一个`borrow_days`变量用于存储计算得到的可借天数。然后使用`SELECT type INTO reader_type FROM readers WHERE name = reader_name`语句查询读者表中指定姓名的读者的类别,并将结果存储到`reader_type`变量中。接下来使用`IF...ELSEIF...ELSE...END IF`语句判断读者类型并计算可借天数,最后使用`RETURN`语句返回计算得到的可借天数。如果读者类型不是学生或者教师,函数返回-1。
阅读全文