数据库7—徐伟杰
数据库原理与应用实验报告(七)
实验名称:存储过程与触发器;专业班级地信1111班;学号1120209129 ;姓名徐伟杰;实验地点资源与信息工程实验室;实验时间2013-6-13
实验结果:
1、给出本实验你所使用的原始数据,即S表、SC表、C表的截图;
学生基本信息表S:
学生选课表SC:
课程基本信息表C:
2、给出你的实验结果(截图,适当调整截图大小);
(1)
(2)
(3)
(4)(5)
(6)
create trigger trigger_student1
on sc
after insert
As begin
if(select count(*)from inseserted join
s on inserted.学号=s.学号)=0
begin
rollback tran
print'插入无效记录!'
end
End
(7)
create trigger trigger_student2
on s
after delete
As begin
update sc
set学号=(select学号from inserted)
where学号in(select学号from deleted)
End
(8)
if exists(select name from sysobjects
where name='trigger_student3'and type='tr') drop trigger trigger_student3
go
create trigger trigger_student3
on s for insert,update,delete
as begin
raiserror('不得对数据进行任何修改!',16,20) End (9)
create trigger trigger_student4
On s
after delete
as begin
update sc
set学号=(select学号from inserted) where学号in(select学号from deleted) End
(10)
create trigger trigger_student5
On sc
for insert
as if exists(select*from inserted A where A.学号not in(select s.学号from s) or A.课程号not in(select c.课程号from c)) begin
raiserror('违背数据的一致性',16,1) rollback transaction
end
3、遇到的问题及解决办法。
本次实验相对来说上手挺快的,书上都有相应的例题。实验已经全部完成了,相信对以后的学习会有极大的帮助。