创建存储过程,对于读者编号,逐条检查借阅表中该读者的借阅情况:还书日期为空记录,借阅天数=系统日期–借阅日期,如借阅天数<15天,则输出正常,15<=借阅天数<=30天,则输出通知还书,借阅天数>30天,则输出逾期,调用该存储过程,测试读者编号为0001的借阅情况>
时间: 2023-11-17 22:04:50 浏览: 443
好的,针对您的需求,我可以为您提供以下存储过程代码:
```
CREATE PROCEDURE check_borrowing_status
@reader_id int
AS
BEGIN
SELECT book_name,
borrowing_date,
DATEDIFF(day, borrowing_date, GETDATE()) AS borrowing_days,
CASE WHEN return_date IS NULL AND DATEDIFF(day, borrowing_date, GETDATE()) < 15 THEN '正常'
WHEN return_date IS NULL AND DATEDIFF(day, borrowing_date, GETDATE()) >= 15 AND DATEDIFF(day, borrowing_date, GETDATE()) <= 30 THEN '通知还书'
WHEN return_date IS NULL AND DATEDIFF(day, borrowing_date, GETDATE()) > 30 THEN '逾期'
ELSE ''
END AS borrowing_status
FROM borrowing_table
WHERE reader_id = @reader_id
END
```
以上代码会根据输入的读者编号逐条检查借阅表中该读者的借阅情况,并根据借阅天数输出相应的借阅状态。您可以在使用时将`@reader_id`替换为具体的读者编号进行查询。希望能够帮助到您!
例如,您可以使用以下代码调用该存储过程并测试读者编号为0001的借阅情况:
```
EXEC check_borrowing_status @reader_id = 0001
```
执行后会返回该读者借阅的书籍名称、借阅日期、借阅天数以及借阅状态。
阅读全文