栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

数据库实验六 触发器实验

数据库实验六 触发器实验

一. 实验目的 1. 理解触发器的作用和工作机制; 2. 掌握某一具体DBMS的SQL编程语言,在前面创建的数据库基础上,定义BEFORE触发器和AFTER触发器,并验证设计的触发器是否起作用。 二. 实验内容 1. 触发器的设计; 2. 触发器正确性验证。 三. 实验要求、过程及结果
  1. 设计一个触发器,实现如下功能:在Student中, 当删除某一同学S#时,该同学的所有选课也都要删除;
    完成触发器的创建

  2. 假设Student表中某一学生要变更其主码S#的值,如使其原来的98030101变更为99030131, 此时sc表中该同学已选课记录的S#也需自动随其改变。设计一个触发器完成上述功能;
    完成触发器的创建并执行更新操作

  3. 设计一个触发器:当进行Teacher表更新元组时, 使其工资只能升不能降;
    完成触发器创建及检验 工资低于原工资时无法更新

  4. 建立CourSum(S#, Sname, SumCourse)表,其中属性SumCourse统计该同学已学习课程的门数,初始值为0,以后每选修一门都要对其增1。设计一个触发器自动完成上述功能;
    完成触发器的创建以及插入操作,看后续是否能计数

成功完成对每位同学的选课计数,再次插入单条选课记录,看是否能完成计数

  1. 设计一个触发器,实现以下功能:Dept(D#, Dname, Dean)表中Dean对应的教师,一定是该系教师Teacher(T#, Tname, D#, Salary)中工资最高的教师。

附:实验源码
1.create trigger shanchu on student
for delete
as
delete SC
from student,deleted
where SC.S#=deleted.sno

delete from student
where student.sno=98030101
2.create trigger gengxin on student
for update
as
if update(sno)
update SC set SC.S#=inserted.sno
from SC,deleted,inserted
where SC.S#=deleted.sno

update student
set sno=12345678
where sno=98030101

3.create trigger jiaxin on teacher
for update
as
begin
declare @x int
declare @y int
select @x=Salary from inserted
select @y=Salary from deleted
if(@x<@y)
begin
print ‘工资小于原工资,不行’
rollback transaction
end
else
print ‘nice!’
End

4.create trigger jilu on SC
for insert
as
declare @x char(10)
declare @y char(10)
select @x=S# from inserted
select @y=C# from inserted

declare @Sumcourse int
select @Sumcourse=count(*)
from SC
where S#=@x

insert coursum
select S#=@x,C#=@y,Sumcourse=@Sumcourse

5.create trigger xizhurenNB on teacher
for insert
as
begin
declare @z char(10)
select @z=D#
from inserted
declare @x int
select @x=Salary
from inserted
declare @y int
select @y=Salary
from teacher,Dept
where Dept.Dean=teacher.Tname and @z=teacher.D#
if(@x>@y)
begin
print’***觉得工资不能大于系主任’
rollback transaction
end
end

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/300894.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号