文档介绍:实验报告
专业: 计算机软件工程班级:11级软件工程学号:201124134157
姓名:龙展鹏
课程名称:数据库系统原理 2012 -2013学年度第2学期
课程类别:专业必修
实验时间:2013 年 06 月 15日
实验名称:触发器
实验目的和要求:
理解触发器的触发过程和类型。
掌握创建触发器的方法。
掌握查看触发器的方法。
掌握修改触发器的方法。
掌握删除触发器的方法。
实验软硬件要求:
为了使实验顺利进行,需要有一台计算机,计算机必须安装windows 2000,
windows xp或windows NT操作系统,还必须安装Microsoft SQL 2000
或SQL Server 2005任意一版本(个人版,标准版,企业版)。实验开始前,必须将本章实验四中创建好的SCDB数据库和ShiYan 数据库附加到当前SQL数据库服务器中。实验人员必须掌握数据更新操作的相关的概念,懂得数据的更新的主要类型及基本特点。
实验内容、实验过程、所遇问题及其解决方法
实验内容:
针对实验数据库SHIYAN,完成以下相关触发器操作任务:
利用Transact-SQL语言为S表建立一个名为s_insert的insert触发器,通过s_insert触发器以保证向S表中插入记录时status字段值要以1、2、3、4或5字符打头。
如果插入的记录的status字段值不是以1、2、3、4或5字符打头的,则拒绝插入该记录,并且输出提示信息“status字段值不是以1、2、3、4或5字符打头的!”
实现语句:
create trigger s_insert
on s
for insert
as if(select count(*) from inserted
where status like '[1,2,3,4,5]%')=0
begin
print 'status字段不是以1,2,3,4,5字符打头的!'
rollback transaction
end
利用“企业管理器”为P表建立一个名为P_weight的update触发器,通过P_weight触发器以保证修改P表中数据时,限制weight字段的值在1000以内。如果修改后的记录的weight字段值超过了1000,则拒绝修改记录,并却输出提示信息“当前被修改的记录的weight字段值不在1000之内,请重新给定该字段值。”,否则可以修改记录,并且输出提示信息“当前被修改的记录的weight字段值满足要求,完成修改操作。”。
实现语句:
create trigger p_weight
on p
for update
as if(select count(*) from inserted
where weight>1000)>0
begin
print '当前修改的weight字段不在1000以内,请重新输入字段值'
rollback transaction
end
else
print '当前修改记录的weight值满足要求,成功完成修改操作'
更新结果:
利用Transact-SQL语言为J表建立一个名为j_delete的delete触发器,通过j_delete触发器保证在删除工程项目表J中记录时,该待删除