我给你几条借阅表的示例数据,('0007','0002','黄磊','0009','设计模式解析','2007-08-05 00:00:00','2007-09-15 00:00:00','NULL'), ('0008','0002','陈晨','0008','Linux宝典','2007-08-05 00:00:00','2007-09-15 00:00:00','NULL');
时间: 2023-08-20 16:30:12 浏览: 68
好的,根据您提供的数据,可以使用以下代码创建 borrowinfo 表并插入数据:
```sql
CREATE TABLE borrowinfo (
Borrowno VARCHAR(4) PRIMARY KEY,
Readerid VARCHAR(8),
Readername VARCHAR(20),
Bookid VARCHAR(13),
Bookname VARCHAR(30),
Borrowdate DATETIME,
Returndate DATETIME,
Memo TEXT
);
INSERT INTO borrowinfo VALUES
('0007','0002','黄磊','0009','设计模式解析','2007-08-05 00:00:00','2007-09-15 00:00:00','NULL'),
('0008','0002','陈晨','0008','Linux宝典','2007-08-05 00:00:00','2007-09-15 00:00:00','NULL');
```
然后,使用以下代码创建内联表值函数:
```sql
CREATE FUNCTION dbo.GetBorrowInfo (@readerid VARCHAR(8))
RETURNS TABLE
AS RETURN
(
SELECT Readername, Bookid, Bookname, Borrowdate, Returndate, Memo
FROM borrowinfo
WHERE Readerid = @readerid
);
```
最后,使用以下代码查询读者 '0002' 的借阅信息:
```sql
SELECT * FROM dbo.GetBorrowInfo('0002');
```
这将返回以下结果:
```
Readername Bookid Bookname Borrowdate Returndate Memo
黄磊 0009 设计模式解析 2007-08-05 00:00:00.000 2007-09-15 00:00:00.000 NULL
陈晨 0008 Linux宝典 2007-08-05 00:00:00.000 2007-09-15 00:00:00.000 NULL
```
请注意,这里的 Memo 列值为 'NULL' ,这是因为您提供的示例数据中该列值为字符串 'NULL',而不是实际的 NULL 值。如果您的实际数据中该列为空,则会返回 NULL 值。
阅读全文