- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库技专题训练I(2014年春)
序号:
数据库专题训练------触发器
实验报告
系别:计算机科学与技术
班级:计11-3班
姓名:黄娟娟
学号:11101020324
成绩:
评语:
指导教师签字: 日期:
实验二 触发器
实验环境及要求
触发器是一种特殊的存储过程,不能被用户直接调用。可以包含复杂的 SQL语句。在特定事件发生时自动触发执行,通常用于实现强制业务规则和数据完整性。DML触发器分为两种类型:AFTER 触发器和 INSTEAD OF触发器。
通过本次实验掌握触发器的创建方法以及使用方法。
实验步骤及结果
创建一个名为tri_Insert_S的触发器,测试改触发器的执行情况,并给出实验结果。当插入的新记录中Sage的值不是18至25之间的数值时,就激活该触发器,撤销该插入操作,并给出错误提示。
use SXCJ
go
create trigger tri_Insert_S on S
after insert
as
if exists (select * from inserted
where Sage=18 and Sage=25)
print添加成功!
else
begin
print无法添加!
rollback transaction
end
go
insert into S values(S8,黄丽,女,26,计算机)
insert into S values(S8,黄丽,女,20,计算机)
select *
from S
go
显示如下:
insert into S values(S8,黄丽,女,26,计算机)
insert into S values(S8,黄丽,女,20,计算机)
2) 创建一个名为tri_Update_SC的触发器,要求:(1)首先判断数据库中是否已经存在名为tri_Update_SC的触发器,如果存在,首先删除,再创建。(2)当试图修改SC表中的学生成绩时,给出不能随便修改成绩的信息提示。
use SXCJ
go
if exists(select name from sysobjects
where name=tri_Update_SC and type=TR)
begin
drop trigger tri_Update_SC
end
else
print不存在该触发器,可新建。
Go
显示如下:
create trigger tri_Update_SC on SC
after update
as
if update(Score)
begin
print不能随意修改成绩!
rollback transaction
end
go
update SC
set score=90
Go
显示如下:
3)使用系统存储过程sp_help,sp_helptext,sp_helptrigger查看触发器相关信息。给出显示结果。
use SXCJ
go
exec sp_help tri_Insert_S
exec sp_helptext tri_Insert_S
exec sp_helptrigger S
go
显示如下:
4) 禁用tri_Update_SC触发器,并演示禁用该触发器后Update的执行情况。
use SXCJ
go
alter table SC disable trigger tri_Update_SC
update SC
set Score=95
where Sno=S1 and Cno=C3
print修改成功!
select *
from SC
Go
显示如下:
5)在SC表上创建一个instead of类型的触发器,触发器名称为:tri__Insert_SC。实现:当向表SC插入记录时检查分数的合理性,分数必须在0到100之间,如果不合理就拒绝插入,并给出信息提示,
use SXCJ
go
if exists(select name from sysobjects
where name=tri__InseCrt_SC and type=TR)
begin
drop trigger tri__InseCrt_SC
end
else
begin
create trigger tri__InseCrt_SC on SC
instead of insert
as
if exists(select * fr
您可能关注的文档
- 人教版八年级英语下册Unit 8 专项练习 完形填空 (附答案).doc
- 多晶硅设备清洗.doc
- 测绘技术报告.doc
- Web考试题完整版.doc
- DE值完整版完整版.doc
- 手术室火灾的应急预案及处理流程.ppt
- 乙酸异戊酯的合成实验.doc
- 大学生上网情况调查报告.doc
- 2023年部编版八年级数学下册期末考试题及答案【精编】.doc
- 科斯:社会成本问题.pdf
- 工业厂房出租协议书5篇.docx
- GDP6缺乏症的护理.pptx
- 2025年黑龙江省伊春市南岔区高三下学期考前物理适应性演练(二)试题.docx
- 2025年黑龙江省伊春市友好区高三下学期4月联考物理试卷.docx
- 2025年黑龙江省伊春市南岔区高三下学期第八周周测物理试卷.docx
- 2025年银行个人理财从业资格真题卷(金融理财规划师职业资格认证考试).docx
- 隧道劳务协作合同5篇.docx
- 北师版二年级下册数学精品教学课件 第6单元 阶段素养冲关练 角、长方形、正方形、平行四边形.ppt
- 2025年黑龙江省伊春市南岔区高三下学期3月联考物理试卷.docx
- 2025年黑龙江省伊春市南岔区高三下学期4月联考物理试卷.docx
文档评论(0)