1、CREATE TABLE 借阅( 图书号 char(4), 读者号 char(4), 借期 datetime, 还期 datetime, 备注 char(20), PRIMARY KEY(图书号, 读者号), FOREIGN KEY(图书号) REFERENCES 图书(图书号), FOREIGN KEY(读者号) REFERENCES 读者(读者号) );

2、INSERT INTO 图书(图书号, 书名, 作者, 单价, 库存量) VALUES ('T001', 'SQL SERVER完全自学手册', '李彦', 49, 5);

3、SELECT 姓名, 工作单位 FROM 读者 WHERE 读者号 = 'R016';

4、DELETE FROM 借阅 WHERE 读者号 IN (SELECT 读者号 FROM 读者 WHERE 姓名 LIKE '王%');

5、CREATE VIEW 未还图书的读者 AS SELECT 读者.姓名, 读者.工作单位, 图书.书名, 借阅.借期 FROM 读者 JOIN 借阅 ON 读者.读者号 = 借阅.读者号 JOIN 图书 ON 借阅.图书号 = 图书.图书号 WHERE 借阅.还期 IS NULL;

6、SELECT TOP 3 读者.姓名, 读者.工作单位, COUNT() AS 借书数 FROM 借阅 JOIN 读者 ON 借阅.读者号 = 读者.读者号 GROUP BY 借阅.读者号 ORDER BY COUNT() DESC;

7、ALTER TABLE 读者 ADD CONSTRAINT default_workplace DEFAULT '华师大' FOR 工作单位;

8、CREATE FUNCTION booknum(@readerNo char(4)) RETURNS int AS BEGIN DECLARE @num int; SELECT @num = COUNT(*) FROM 借阅 WHERE 读者号 = @readerNo; RETURN @num; END;

9、CREATE PROCEDURE noback(@name char(8)) AS BEGIN SELECT 图书.书名 FROM 图书 JOIN 借阅 ON 图书.图书号 = 借阅.图书号 JOIN 读者 ON 借阅.读者号 = 读者.读者号 WHERE 读者.姓名 = @name AND 借阅.还期 IS NULL; END;

10、CREATE TRIGGER num_update ON 读者 AFTER UPDATE AS BEGIN UPDATE 借阅 SET 读者号 = inserted.读者号 FROM inserted WHERE 借阅.读者号 = deleted.读者号; END;

SQL 数据库操作练习:图书借阅管理系统

原文地址: https://www.cveoy.top/t/topic/oFK5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录