1 / 13
文档名称:

实验七--触发器.docx

格式:docx   大小:108KB   页数:13页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验七--触发器.docx

上传人:小博士 2022/6/17 文件大小:108 KB

下载得到文件列表

实验七--触发器.docx

相关文档

文档介绍

文档介绍:实验七触发器
-、实验目的
理解触发器的用途、类型和工作原理
掌握利用T-SQL语句创建和维护触发器的方法
掌握利用企业管理器创建、维护触发器的方法
二、实验内容
创建after触发器
创建一个在插入时触发的触发器sc_ins。
!执行00 > ■ /窍室回厂0 0匾i M 言李丰冬电;
-
SQLQueryLsql - US一dministrator (54))* 实用工M竺隽言容
▼ X
S alter cable course
L add avg_grade 9xnalllnc|
二1
1 4 \ m ) 卜
山消息L
命令已成功完成。
? 岫g »■・/ 於阍回I 1°。| M 呈|讲卓 %
- US...dministrator (54))■ 源898&内咎
B updace course
I sec AVG (grade) from sc
L where sc . cno^course . cno|i
4 | III
|由消息
<3彳亍受影响)
?妹(X)► 口 ✓ | 瞻圈0 M ° » 事鸵=
SQLQueryLsql - US...dministrator (54))* 实用工M资源管理器内容 select * from course
ZII 川 」 园
□结果21消息
eno
cname
total _perior
credit
avg_grade
1
I 001
高数
%
6
82
2
002
c语言程序设计
80
5
69
3
004
Visual_Basic
48
4
NULL
? 岫0 »・/器间回|『臂〔瞻画© 11呈|率享|鸵『 日
/SQLQueryLsql - US...dministrator (54))* 实用工器内容 ▼ X
曰 create trigger grade_modify 」
on sc after update
as L
B if UPDATE(grade) =
□ begin
H update course
set avg grade=(select AVG(gradeifrom sc
Lwhere = group by eno) end
nr
_■消息
命令已成功完成。
?执行(X) >・/踌却回I广肾I弱画© I M呈I章秦I鲍忘R」浏次I更好型M £
SQLQueryLsql - (54))* 实用工MS®管理器内容 ▼ X
曰 update sc —I
I set grade=' 981 Lwhere sno='201100011 and cno='001‘
4 | 川 一| ►
一J消息
<3行受影响〉
<1行受影响〉
? ^(X) ► - /彷目匾]广> 省[§]曲 M隹参享峪曲 」削」更曙绷VL "次=.我
SQLQueryLsql - US„dministrator (54))* [ 容] ▼
曰 select* from sc L select * from course
<」 .虬 .1 >
国结果届五! sno eno grade
[»11OTOjj 001 98
'"航i丽T' 002 78
20110002 001 78
20110002 002 60
20110103 001 80
eno cname total_perior credit avg_grade
rOoTl 高数 % 6 85
002 C语言程序设计80 5 69
004 Visual_Basic 48 4 NULL
测试上述三个触发器。
测试过程在(1)、(2)、(3)中均给出。
创建instead of触发器
创建一视图Student_view,包含学号、姓名、课程号、课程名、成绩等属性, 在
Student_view上创建一个触发器Grade_moidfy,当对Student_view中的学 生的成绩进行修改时,实际修改的是sc中的相应记录。
?岫0 >・/器邙国|广野|费画侵| M刍序集|茶卜
SQLQueryLsql - US...dministrator (54))* | 实用工M资源管理器内容 ▼ X
曰 create view student_view —,
as select ,snamer ,cname,grade from student,course,sc -where = a