




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福建工程学院计算机与信息科学系实验报告 2012 2013 学年第 一 学期 任课老师: 孙水华 课程名称数据库实验班级信息管理座号20姓名郭明光实验题目实验八 触发器实验时间实验开始日期:2012.12.12 报告提交日期:2012.12. 17 实验目的、要求实验目的掌握SQLServer中触发器的使用方法。二、实验内容按照数据库系统概论的SPJ关系模式实现以下操作:1、创建一个作用在P表上的的触发器P_Ins,确保用户在插入或更新数据时所提供的WEIGHT值是非负和非零的,否则给出错误提示并回滚此操作。请测试该触发器。测试方法自定。2、创建一个作用在J表上的的触发器J_Update,禁止同时修改项目的名称和所在城市,并进行相应的错误提示。请测试该触发器。测试方法自定。3、首先在数据库中使用SELECT INTO 语句从SPJ、J、P表中创建一个新表J_P_QTY。表中的属性列包括:工程号、工程名、零件号、零件名及总数量,其中总数量的值是各工程使用各种零件的数量总和(不考虑零件是由哪个供应商提供的)。然后创建一个作用在SPJ表上的Insert型触发器,该触发器能完成两项任务:1)当用户插入的JNO使用的PNO的值在J_P_QTY中不曾存在时禁止插入;2)每当在SPJ表中插入一条合理记录时,使J_P_QTY表的QTY列的值保持同步更新。请测试该触发器。测试方法自定。三、实验要求:1、记录完整语句。在实验过程注意验证语句的执行效果。2、记录实验过程中发生的有学习意义的错误及错误信息。四、实验小结实验设计内容 create trigger P_Inson pfor update,insertasdeclare a int,b intselect a=weight from deletedselect b=weight from insertedif a=0 or b=0begin print 插入失败 raiserror(WEIGHT值是非负和非零的,16,1)rollback transactionenddrop trigger P_Insinsert into p values(p8,螺母,蓝,0)update pset weight=-9where pno=p1alter table p enable trigger P_Inscreate trigger J_Updateon jfor updateasif update(jname) and update(city)beginprint 操作失败raiserror(禁止同时修改项目的名称和所在城市,16,1)rollback transactionendupdate jset jname=一汽,city=福州where jno=j1select spj.jno,jname,pname,spj.pno,sum(qty) qty into J_P_QTY from spj,p,jwhere spj.pno=p.pno and spj.jno=j.jnogroup by spj.pno,spj.jno,jname,pnamecreate trigger kon spjfor insertasdeclare a char(4)select a=pno from insertedif not exists (select * from J_P_QTY where a=pno )begin print 插入失败 raiserror(PNO的值在J_P_QTY中不曾存在,16,1)rollback transactionendinsert into spj values(s3,p4,j1,100)insert into p values(p8,螺母,蓝,0)select spj.jno,jname,pname,spj.pno,sum(qty) qty into J_P_QTY from spj,p,jwhere spj.pno=p.pno and spj.jno=j.jnogroup by spj.pno,spj.jno,jname,pnamecreate trigger non spjfor insertasdeclare a char(4),b char(4),c int select a=pno,b=jno,c=qty from insertedupdate J_P_QTYset qty=qty+cwhere a=pno and b=jnocreate trigger zon spjfor insertasdeclare a char(4),b char(4),c int select a=pno,b=jno,c=qty from insertedif a=J_P_QTY.pno and b=J_P_QTY.jnobeginupdate J_P_QTYset qty=qty+cendinsert into spj values(s4,p1,j1,100)drop trigger n调试过程记录记录每次编译出现的第一个错误以及修改情况;实验结果记录以及与预期结果比较以及分析记录每次实验结果以及分析情况创建一个作用在P表上的的触发器P_Ins,确保用户在插入或更新数据时所提供的WEIGHT值是非负和非零的,否则给出错误提示并回滚此操作。请测试该触发器。测试方法自定create trigger P_Inson pfor update,insertasdeclare a int,b intselect a=weight from deletedselect b=weight from insertedif a=0 or b=0begin print 插入失败 raiserror(WEIGHT值是非负和非零的,16,1)rollback transactionEnddrop trigger P_Insinsert into p values(p8,螺母,蓝,0)update pset weight=-9where pno=p1创建一个作用在J表上的的触发器J_Update,禁止同时修改项目的名称和所在城市,并进行相应的错误提示。请测试该触发器。测试方法自定。create trigger J_Updateon jfor updateasif update(jname) and update(city)beginprint 操作失败raiserror(禁止同时修改项目的名称和所在城市,16,1)rollback transactionEndupdate jset jname=一汽,city=福州where jno=j1首先在数据库中使用SELECT INTO 语句从SPJ、J、P表中创建一个新表J_P_QTY。表中的属性列包括:工程号、工程名、零件号、零件名及总数量,其中总数量的值是各工程使用各种零件的数量总和(不考虑零件是由哪个供应商提供的)select spj.jno,jname,pname,spj.pno,sum(qty) qty into J_P_QTY from spj,p,jwhere spj.pno=p.pno and spj.jno=j.jnogroup by spj.pno,spj.jno,jname,pname创建一个作用在SPJ表上的Insert型触发器,该触发器能完成两项任务:当用户插入的JNO使用的PNO的值在J_P_QTY中不曾存在时禁止插入;create trigger kon spjfor insertasdeclare a char(4)select a=pno from insertedif not exists (select * from J_P_QTY where a=pno )begin print 插入失败 raiserror(PNO的值在J_P_QTY中不曾存在,16,1)rollback transactionendinsert into spj values(s3,p4,j1,100)每当在SPJ表中插入一条合理记录时,使J_P_QTY表的QTY列的值保持同步更新。请测试该触发器。测试方法自定。create trigger non spjfor insertasdeclare a char(4),b char(4),c int select a=pno,b=jno,c=qty from insertedupdate J_P_QTYset qty=qty+cwhere a=pno and b=jnoinsert into spj values(s4,p1,j1,100)create trigger zon spjfor insertasdeclare a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025重庆市綦江区教育事业单位面向应届毕业公费师范生考核招聘60人笔试备考试题及答案解析
- 2025中级软考通关题库及答案详解
- 心理危机干预报告
- 2025浙江温州瑞安市司法局编外人员招聘1人笔试备考试题及答案解析
- 企业人文内涵塑造策略
- 大学化学教学方法与实践
- 绿化工程的推广及意义
- 纺织品包装设计手册
- 2025西安雁塔区长延堡社区卫生服务中心招聘笔试含答案
- 2025年口腔颌面外科颌骨骨折固定术后并发症处理技巧模拟考试试卷答案及解析
- 捉弄人的大脑
- 热能动力工程专业英语课件
- 船舶概论课件
- 篮球训练营规章制度范本
- 园林给排水工程
- 肛裂健康宣教
- Rexroth (博世力士乐)VFC 3610系列变频器使用说明书
- ×××学校“学校学生资助管理机构成立文件”
- 动词过去式和过去分词的变化规则练习及答案
- XX资产评估有限公司内部管理制度
- 第四章 土壤污染调查与风险评价
评论
0/150
提交评论