77范文网 - 专业文章范例文档资料分享平台

数据库实验3 触发器报告

来源:网络收集 时间:2020-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

数据库技专题训练I(2014年春) 序号:

数据库专题训练------触发器

实验报告

系别:计算机科学与技术 班级:计11-3班 姓名:黄娟娟 学号:11101020324

成绩: 评语:

指导教师签字: 日期:

实验二 触发器 一、 实验环境及要求

触发器是一种特殊的存储过程,不能被用户直接调用。可以包含复杂的 SQL

语句。在特定事件发生时自动触发执行,通常用于实现强制业务规则和数据完整性。DML触发器分为两种类型:AFTER 触发器和 INSTEAD OF触发器。 通过本次实验掌握触发器的创建方法以及使用方法。

二、 实验步骤及结果

1) 创建一个名为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 * from inserted

where Score>=0 and Score<=100) begin

insert into SC

select * from inserted print'插入成功!' end else begin

rollback transaction

print'分数必须在到之间,插入数据失败!' end end go

insert into SC

values('S3','C3',110) go

显示如下:

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库实验3 触发器报告在线全文阅读。

数据库实验3 触发器报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1002758.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: