这个函数不太行,重新写一个
时间: 2024-03-12 21:48:13 浏览: 19
好的,我来重新写一个函数。如果你只需要计算当前借阅书籍的总人数,可以使用以下的 T-SQL 代码:
```
CREATE FUNCTION dbo.GetBorrowedCount()
RETURNS INT
AS
BEGIN
DECLARE @count INT
SELECT @count = COUNT(DISTINCT readerid) FROM borrowinfo WHERE Returndate IS NULL
RETURN @count
END
```
这个函数的作用是返回当前借阅书籍的总人数,也就是还没有归还书籍的读者数量。它使用了 COUNT 和 DISTINCT 函数来计算不同的 readerid 数量,同时过滤了已经归还的书籍。你可以在 SQL Server Management Studio 中执行这段代码,然后在查询窗口中运行 SELECT dbo.GetBorrowedCount() 来测试一下这个函数是否能正常工作。
如果你需要计算某个读者当前借阅书籍的数量,可以使用以下的 T-SQL 代码:
```
CREATE FUNCTION dbo.GetBorrowedCountByReaderid(@readerid VARCHAR(8))
RETURNS INT
AS
BEGIN
DECLARE @count INT
SELECT @count = COUNT(*) FROM borrowinfo WHERE readerid = @readerid AND Returndate IS NULL
RETURN @count
END
```
这个函数的作用是返回某个读者当前借阅书籍的数量,它接受一个参数 @readerid 表示读者编号。它使用了 COUNT 函数来计算该读者借阅的书籍数量,同时过滤了已经归还的书籍。你可以在 SQL Server Management Studio 中执行这段代码,然后在查询窗口中运行 SELECT dbo.GetBorrowedCountByReaderid('读者编号') 来测试一下这个函数是否能正常工作。请注意将 '读者编号' 替换为实际的读者编号。