北京理工大学计算机学院数据库开发实验报告2.docxVIP

北京理工大学计算机学院数据库开发实验报告2.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京理工大学计算机学院数据库开发实验报告2

数据库系统开发实验报告实验二:触发器的创建与测试内容检查订单明细表Sales.SalesOrderDetail中的信息,如果修改记录中的产品单价UnitPrice大于产品公开报价(Production.Product.ListPrice),则不能进行修改并抛出错误信息,否则,进行修改并将修改的有关信息写到Production.ProuctUpdateLog表中。要求使用RAISEERROR抛出错误信息。修改信息记录表Production.ProductUpdateLog的内容:记录编号、订单编号、订单明细编号、产品编号、产品的公开报价、修改前产品的单价、修改后产品的单价、修改者的登录名。使用存储过程完成该功能,并在存储过程中调用该存储过程。给出触发器和存储过程的源代码和简要的说明(可以在代码中使用注释进行说明)。设计触发器测试方案并给出测试的命令和结果,必要时可对测试结果进行分析。实验内容:首先,用Windows系统下的登录,附加数据库AdventureWorks按照实验内容,我们先来查询一下AdventureWorks中的订单明细表Sales.SalesOrderDetail。语句:USEAdventureWorksGOSELECT*FROMSales.SalesOrderDetailGO查询结果如下:根据实验内容,创建名为Production.ProuctUpdateLog(产品更新日志)的表。其属性分别为记录编号,订单编号,订单明细编号,产品编号,产品公开报价,修改前产品的单价,修改后产品单价,修改者登录名。语句:/*记录编号,订单编号,订单明细编号,产品编号,产品公开报价,修改前产品的单价,修改后产品单价,修改者登录名*/USEAdventureWorksGOCREATETABLEProduction.ProductUpdateLog(记录编号intIDENTITYprimarykey,订单编号intnotnull,订单明细编号intnotnull,产品编号intnotnull,产品公开报价money,修改前产品单价money,修改后产品单价money,修改者登录名nvarchar(50) not null)GO运行结果如下:将修改者登录名设为不准为空,同时用IDENTITY关键字设主键“记录编号”为自动增长。表格Production.ProductUpdateLog创建成功,之后查询以检验其创建成功。题目要求,当更新产品价格满足不大于公开报价条件时,更新表格Sales.SalesOrderDetail,并且向表Production.ProductUpdateLog中插入一条记录。要求此功能用存储过程实现。下面创建一个名为Production.Record_Update的存储过程,以完成向表Production.ProductUpdateLog中插入记录的功能。语句:USEAdventureWorksGOIFOBJECT_ID(Production.Record_Update_Price,P)ISNOTNULLDROPPROCEDUREProduction.Record_Update_PriceGO--如果数据库中存在名称为Production.Record_Update_Price的存储过程--则删除该存储过程--创建存储过程Production.Record_Update_Price,它有个参数,--其中@SalesorderID 表示订单编号,@SalesorderdetailID 表示订单明细编号--@ProductID 表示产品编号,@PublicPrice 表示公开报价--@PrePrice 表示修改前价格,@PostPrice 表示修改后报价--@Operator 表示修改者登录名CREATEPROCEDUREProduction.Record_Update_Price--@RecordID int,--因为表格ProductUpdateLog的主键设为IDENTITY性质,不用传参@SalesorderIDint,@SalesorderdetailIDint,@ProductIDint,@PublicPricemoney,@PrePricemoney,@PostPricemoney,@Operatornvarchar(50)AS--向表ProductUpdateLog插入一条记录,参数纷纷对应INSERTINTOProduction.ProductUpdateLog(--记录编号,订单编号,订单明细编号,产品编号,产品公开报价,修改前产品单价,修改后产品单价,修改者登录名)VALUES(--@RecordID,@SalesorderID,@SalesorderdetailID,@ProductID,@P

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档