实验内容
将实验四的数据库按书中79页中的表对其填充数据,然后在数据库中做如下操作:
(1)查询学号为201215121的姓名和所选修的课程门数,当门数为2门及以上时,则输出“XX,已经完成了选课”,否则输出“XX,还需选课”。(提示:需定义变量存储选修的课程门数和学生姓名)
(2)在数据库中查找姓名为“张立”的学生,若找到,输出该学生的学号,姓名,年龄,院系,否则,输出“查无此人”的信息。(提示:用if exists)
(3)在Student表上创建一个触发器,每次有插入操作时,都设置变量@str的值为"Trigger is working",并输出显示出来。
(4)按课本P166页的方式创建TEACHER表(在此之前需创建DEPT表)。并在此教师表中定义一个AFTER触发器,为教师表Teacher定义完整性规则“教授的工资不得低于4000元,如果低于4000元,自动改为4000元”。并进行触发器的验证。
(5)首先解除Student表和SC表的参照关系。然后在Student表上创建一个触发器,使更新一个学生的学号信息时能够级联的更新此学生在SC表中的选课记录的学号信息,并进行验证。
(6)首先解除Student表和SC表的参照关系。然后在Student表上创建一个触发器,使删除一个学生时能够级联的删除此学生在SC表中的选课记录,并进行验证。
实验过程、存在的问题及解决办法:
(1)查询学号为201215121的姓名和所选修的课程门数,当门数为2门及以上时,则输出“XX,已经完成了选课”,否则输出“XX,还需选课”。(提示:需定义变量存储选修的课程门数和学生姓名)

(2)在数据库中查找姓名为“张立”的学生,若找到,输出该学生的学号,姓名,年龄,院系,否则,输出“查无此人”的信息。(提示:用if exists)

(3)在Student表上创建一个触发器,每次有插入操作时,都设置变量@str的值为"Trigger is working",并输出显示出来。
1.创建触发器

2.输入数据验证

4)按课本P166页的方式创建TEACHER表(在此之前需创建DEPT表)。并在此教师表中定义一个AFTER触发器,为教师表Teacher定义完整性规则“教授的工资不得低于4000元,如果低于4000元,自动改为4000元”。并进行触发器的验证。
1.创建Dept表

2.创建Teacher表

3.创建触发器TEACHER_SAL_TRIGGER

4.验证测试
插入数据

查询触发器是否被触发(查询TEACHER表显示修改成功)

(5)首先解除Student表和SC表的参照关系。然后在Student表上创建一个触发器,使更新一个学生的学号信息时能够级联的更新此学生在SC表中的选课记录的学号信息,并进行验证。(删除外键约束过程省略)
创建触发器

验证触发器
先查看SC表中‘***’‘201215126’的选修情况

更新***的学号,查看是否触发了触发器更新SC表中学号

查看sc表中sno列是否被修改(已修改成功)

(6)首先解除Student表和SC表的参照关系。然后在Student表上创建一个触发器,使删除一个学生时能够级联的删除此学生在SC表中的选课记录,并进行验证。
创建触发器

验证删除 ‘05170052’时是否级联删除了其选修记录

Select命令显示已级联删除其选修记录

相关文章:
-
2021-09-07
-
2021-07-22
-
2021-04-30
-
2021-05-13
-
2021-09-07
-
2021-09-07
-
2018-12-18
-
2021-12-10
猜你喜欢
-
2021-07-05
-
2021-11-21
-
2021-08-17
-
2021-06-12
-
2021-12-01
-
2021-07-10
-
2021-09-07
相关资源
-
下载
2022-11-30
-
下载
2022-12-30
-
下载
2023-04-08