数据库实验 触发器_第1页
数据库实验 触发器_第2页
数据库实验 触发器_第3页
数据库实验 触发器_第4页
数据库实验 触发器_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告专业:计算机软件工程班级:11级软件工程学号:201124134157姓名:龙展鹏课程名称:数据库系统原理2012-2013学年度第2学期课程类别:专业必修实验时间:2013年06月15日实验名称:触发器实验目的和要求:理解触发器的触发过程和类型。掌握创建触发器的方法。掌握查看触发器的方法。掌握修改触发器的方法。掌握删除触发器的方法。实验软硬件要求:为了使实验顺利进行,需要有一台计算机,计算机必须安装windows2000,windowsxp或windowsNT操作系统,还必须安装MicrosoftSQL2000或SQLServer2005任意一版本(个人版,标准版,企业版)。实验开始前,必须将本章实验四中创建好的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字符打头的!”实现语句:createtriggers_insertonsforinsertasif(selectcount(*)frominsertedwherestatuslike'[1,2,3,4,5]%')=0beginprint'status字段不是以1,2,3,4,5字符打头的!'rollbacktransactionend利用“企业管理器”为P表建立一个名为P_weight的update触发器,通过P_weight触发器以保证修改P表中数据时,限制weight字段的值在1000以内。如果修改后的记录的weight字段值超过了1000,则拒绝修改记录,并却输出提示信息“当前被修改的记录的weight字段值不在1000之内,请重新给定该字段值。”,否则可以修改记录,并且输出提示信息“当前被修改的记录的weight字段值满足要求,完成修改操作。”。实现语句:createtriggerp_weightonpforupdateasif(selectcount(*)frominsertedwhereweight>1000)>0beginprint'当前修改的weight字段不在1000以内,请重新输入字段值'rollbacktransactionendelseprint'当前修改记录的weight值满足要求,成功完成修改操作'更新结果:利用Transact-SQL语言为J表建立一个名为j_delete的delete触发器,通过j_delete触发器保证在删除工程项目表J中记录时,该待删除记录的SPJ表中存在引用关系,并且对应的引用关系记录的供应数量QTY值不少于50,则不能删除该工程项目记录,输出提示信息“不满足删除要求。”;否则可以删除,输出提示信息“相应的工程项目信息已经成功删除。”。实现语句:createtriggerj_deleteonjfordeleteasif(selectcount(*)frominserted,spjwhereinserted.jno=spj.jnoandspj.qty>50)>0beginprint'不满足删除条件'rollbacktransactionendelseprint'相应的工程项目已经删除'运行结果:利用Transact-SQL语言修改触发器s_insert,修改后的s_insert触发器能保证在修改S表中数据记录时s_insert字段值不可以修改。实现语句:altertriggers_insertonsforupdateasif(selectcount(*)frominserted,swhereinserted.status=s.status)>0beginprint'status字段不是以1,2,3,4,5字符打头的!'rollbacktransactionend将触发器s_insert的名称更改为s_insert_update。执行语句:execsp_rename's_insert','s_status_update'*查看数据表P中所有的inserted触发器,并观察其执行结果。执行语句:execsp_helptriggerp,inserted;结果:*查看触发器就j_delete的定义文本。执行语句:execsp_helptext'j_delete'结果:*查看触发器p_weight的所有者和创建日期。execsp_help'p_weight'结果:*分别利用“企业产管理器”和SQL语言删除触发器s_status_update。SQL删除droptriggers_status_update实验总结及心得体会:通过本次实验,让我对触发器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论