MYSQL创建一个存储函数,给定读者姓名,判断其类别,若是学生,则返回其可借天数,若不是则返回“-1”
时间: 2023-12-07 22:04:32 浏览: 150
好的,以下是符合你要求的MySQL存储函数的代码:
```
DELIMITER //
CREATE FUNCTION reader_category(name VARCHAR(50)) RETURNS VARCHAR(20)
BEGIN
DECLARE category VARCHAR(20);
DECLARE days INT;
SELECT Category INTO category FROM Reader WHERE Name = name;
IF category = 'Student' THEN
SELECT StudentBorrowDays INTO days FROM BorrowRules WHERE RuleID = 1;
RETURN CAST(days AS VARCHAR(10));
ELSE
RETURN '-1';
END IF;
END //
DELIMITER ;
```
这个函数需要在一个名为`Reader`的表和一个名为`BorrowRules`的表上进行操作。在`Reader`表中,需要有一个名为`Name`的列和一个名为`Category`的列,`Category`表示读者的类别。在`BorrowRules`表中,需要有一个名为`RuleID`的列和一个名为`StudentBorrowDays`的列,`StudentBorrowDays`表示学生可借的天数。
当你调用这个函数时,只需要将读者的姓名作为参数传进去即可。如果读者是学生,则返回其可借天数,否则返回`-1`。
阅读全文