实验9:使用触发器(答案)

实验9:使用触发器(答案)

ID:34309220

大小:55.87 KB

页数:5页

时间:2019-03-05

实验9:使用触发器(答案)_第1页
实验9:使用触发器(答案)_第2页
实验9:使用触发器(答案)_第3页
实验9:使用触发器(答案)_第4页
实验9:使用触发器(答案)_第5页
资源描述:

《实验9:使用触发器(答案)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、GDOU-B-11-112广东海洋大学学生实验报告书实验名称实验八:使用触发器加强完整性课程名称数据库原理与设计成绩学院(系)软件学院专业计算机软件工程班级学生姓名学号实验地点实验日期实验目的:1.掌握触发器的使用方法实验内容按要求完成给出的下列题目,要求写出相应数据库的脚本语句。(要求写出存储过程的创建和执行语句。)1.创建触发器,当修改Orders表中某行数据的mShippingCharges和mGiftWrapCharges吋,要修改相应行的总价mTotalCost,以保证结果的正确性。CreatetriggertrgupdateOrd

2、ersonOrdersforupdateasifupdate(mShippingCharges)orupdate(mGiftWrapCharges)begindeclare@oldmoneydeclare@newmoneyselect@o1d=mShippingCharges+mGiftWrapChargesfromdeletedselect@new=mShippingCharges+mGiftWrapChargesfrominsertedupdateOrderssetmTotalCost^mTotalcost-@old+@newwherec

3、ORderNo=(selectcOrderNofrominserted)end2.创建触发器,禁止删除ToysBrand表中的记录。1.CreatetriggertrgdeleteToyBrandonToyBrandfordeleteasrollbacktran3.创建Insteadof触发器,禁止对Toys表进行删除操作。CreatetriggertrgToysonToysinsteadofdeleteasprint"toyscannotbedeleted"1.创建触发器,在Toys表屮插入数据或者修改数据时,要保证siLowerAge小于

4、siUpperAge的值,否则不能插入或修改。2.创建触发器,禁止对Shoppers表进行任何更新(增删改)操作。3.当Toys表屮的玩具价格mToyRate增加时,创建一个触发器使得Toys表的mToyRate的属性的平均值不超过28美元,并且最大值不超过55美元。CreatetriggerupdateToysonToysforupdateasdeclare@avgmoneydeclare@maxmoneyseiect@avg=avg(mToyrate)fromtoysselect@max=Max(mToyrate)fromtoysif@a

5、vg>28or@max>55rollbacktran4.对Shipment表进行插入操作或者修改操作时,应保证dShipmentDate小于当前日期。.CreatetriggertrgDe1eteToyBrandOnToyBrandFordelete,updateAsIfexists(select*fromdeletedwherecBrandidin(selectcBrandidfromtoys))Rollbacktran5.Toys表和Toybrand表存在相同属性cBrandid,利用触发器实现两个表之间的限制方式的参照完整性。creat

6、etriggertrgupdateviewOnvwCandidateContractRecruiterInsteadofupdateAsDeclare@markintDeclare@namevarchar(50)Declare@codechar(6)Select@mark=siTestScorefrominsertedSelect@name^cNamefrominsertedSelect@code=cCandidatecodefrominsertedUpdatevwCandidateContractRecruiterSetsiTestScor

7、e=@mark,cName=@nameWherecCandidateCode=@code6.对于Recruitment数据库,创建一个视图名为vwCandidateContractRecruiter,其屮包含了外部候选人的代码,姓名,测试成绩,以及其对应的合同招聘人员的代码和名称。并对该进行更新,修改外部候选人代码为'000049,的候选人,更改英测验成绩为87分,并更改相对应的合同招聘人员的名称为'RogerFederal'。通过创建一个触发器使得能对该视图直接通过下面的Update语句进行更新。updatevwCandidateContr

8、actRecruitersetsiTestScore二87,cName二'RogerFederalwherecCandidateCode二,000049,指导教师日

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。