MySQL 为数据库“Library”创建一个查询某读者借阅情况的存储过程。读者姓名在执行存储过程时给出,如果执行存储过程时未给出读者姓名,则默认查询读者“程鹏”的借阅情况。写出存储过程代码和调用代码。
时间: 2024-12-28 17:30:41 浏览: 11
在MySQL中,我们可以创建一个存储过程(Procedure)来满足这个需求。首先,我们需要创建一个名为`getBorrowingInfo`的存储过程,它接受一个参数`readerName`,并使用IF语句来处理默认查询的情况。下面是存储过程的创建代码:
```sql
DELIMITER //
CREATE PROCEDURE getBorrowingInfo(IN readerName VARCHAR(100))
BEGIN
IF (readerName IS NULL OR readerName = '程鹏') THEN
SELECT * FROM Library.Borrowings WHERE Reader = '程鹏';
ELSE
SELECT * FROM Library.Borrowings WHERE Reader = readerName;
END IF;
END; //
DELIMITER ;
```
在这个存储过程中,我们假设`Library`数据库表有一个名为`Borrowings`的表,其中包含读者姓名(Reader)和借阅信息。如果没有提供读者姓名,我们将查询"程鹏"的所有借阅记录;如果提供了其他读者名,则查询指定读者的借阅记录。
然后,你可以像这样调用这个存储过程:
```sql
CALL getBorrowingInfo('张三'); -- 查询张三的借阅情况
CALL getBorrowingInfo(NULL); -- 默认查询程鹏的借阅情况
```
如果你需要查询特定读者的借阅情况,只需将 `'张三'` 替换为你想要查询的实际读者名称即可。
阅读全文