数据库技术与应用大作业(4)

2018-11-30 14:27

☆操作请求描述

查询每个学生的学号、姓名、课程号和成绩以及参加的活动 ☆T-SQL语句

select Student.Sno,Sname,Cno,Score,Aname from student,Grade,Activity

where student.Sno=Grade.Sno and Grade.Sno=Activity.Asno; ☆执行结果截屏

★实例2 ☆操作请求描述

查询每个学生及其课程成绩 ☆T-SQL语句

select student.*,Grade.* from student,Grade

where student.Sno=Grade.Sno; ☆执行结果截屏

第 16 页

5.4.4聚合查询

★实例1 ☆操作请求描述

查询管理学院所有女生的信息 ☆T-SQL语句

select * from student where Sdept='11' intersect select * from student where Ssex='女'; ☆执行结果截屏

第 17 页

★实例2 ☆操作请求描述

查询选择了课程3且成绩大于90的学生学号 ☆T-SQL语句

select Sno from Grade where Cno='3' intersect select Sno from Grade where Score>90; ☆执行结果截屏

第 18 页

6 数据库管理及控制

6.1触发器

6.1.1触发器逻辑表述

控制逻辑表述:

在成绩(Grade)表上建立一个触发器,当用户试图修改某门课程的成绩score时触发器被激发,以阻止用户的修改行为,并回滚事务。

6.1.2触发器SQL语句

T-SQL语句:

create trigger modify_score on Grade for update as

if update(score) begin

print'无法修改成绩' rollback transaction end Return

6.1.3触发器测试

测试语句:

update Grade set Score=98

where Sno=2010303060 and Cno=1; 测试结果:

第 19 页

6.2事务

☆控制逻辑表述:

活动加分乘以10%,如果学号为2010403059的学生活动加分若超过10分,事务将回滚。 ☆T-SQL语句:

BEGIN TRANSACTION USE zhushan

UPDATE ActivityPoints SET Amark=Amark*0.1

IF (SELECT Amark FROM ActivityPoints WHERE sno= '2010403059') > 10

BEGIN

PRINT 'Transaction rollback back' ROLLBACK TRANSACTION END ELSE BEGIN

PRINT 'Transaction commited' COMMIT TRANSACTION END ☆执行结果:

第 20 页


数据库技术与应用大作业(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:建筑设计知识资料:玻璃幕墙有哪些特例说明?[工程类精品文档]

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: