




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育的文化差异和多元性
- 创意与艺术教学展示课件
- 甲功五项检查原理
- 田间单对角线取样法课件
- 中职护理教学课件模板
- 新解读《GB-T 36797-2018装修防开裂用环氧树脂接缝胶》
- 用电安全知识培训课件通讯
- 新解读《GB-T 35030 - 2018烟花发射高度、发射偏斜角、辐射半径测定方法》
- 生鲜超市基本知识培训
- 急性上呼吸道感染咳嗽护理查房
- 电梯安全培训课件内容
- 2025年事业单位招聘职业能力倾向测验考试题库附参考答案满分必刷
- 应聘副研究员汇报
- 2025年中考历史(河南卷)真题评析
- 2025年登高证考试试题(附答案)
- 手术室时间管理课件
- 2025版线上直播场推广服务合同模板
- 高一上学期数学学法指导课件2024.9.14
- GB/T 45845.1-2025智慧城市基础设施整合运营框架第1部分:全生命周期业务协同管理指南
- 2025至2030ABF(Ajinomoto积膜)基质行业市场占有率及投资前景评估规划报告
- 呼吸科考试试题及答案
评论
0/150
提交评论