




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理与技术第二次试验课程名称:数据库原理与技术实验报告要求:1. 列出所有的SQL语句和源代码;2. 程序要求有适当的注释;3. 对数据完整性约束实施要求给出相应的测试用例。4. 实验报告提交电子档。实验内容:存储过程与触发器1. 编写一段程序,将每种玩具的价格提高¥0.5,直到玩具的平均价格接近$24.5为止。此外,任何玩具的最大价格不应超过$53。在执行语句前查询:select * from Toys 结果如下执行代码如下: create procedure inprove_pri /*创建存储过程*/asdeclare average money /*定义变量 */select a
2、verage=AVG(mToyRate) from Toys begin while average<24 /*为保证进行最后一次循环后的average<24.5*/ begin update Toys set mToyRate=mToyRate+0.5where mToyRate<53 /* 循环条件 */ select average=AVG(mToyRate) from Toysendendgo exec inprove_priselect * from Toys 运行结果: 再查询avg(mToyRate) 代码:select AVG(mToyRate) aaa fr
3、om Toys2. 创建一个称为prcCharges的存储过程,它返回某个定单号的装运费用和包装费用。 create procedure prcCharges /*创建存储过程 */cOrderNo char(6), /*定义变量 */mShippingCharges money output,mGiftWrapCharges money outputasbegin select mShippingCharges=mShippingCharges, /* 从Orders表中赋值给变量*/ mGiftWrapCharges=mGiftWrapCharges from Orders where c
4、OrderNo=cOrderNo /* 赋值条件 */ endgo declare mShippingCharges money, mGiftWrapCharges money exec prcCharges '000001',mShippingCharges output, /* 执行该存储过程 */ mGiftWrapCharges outputprint '000001订单的装运费:'+convert(char(10),mShippingCharges) /*打印输出 */print '000001订单的包装费:'+convert(char
5、(10),mGiftWrapCharges) 结果如下: 3. 创建一个称为prcHandlingCharges的过程,它接收定单号并显示经营费用。PrchandlingCharges过程应使用prcCharges过程来得到装运费和礼品包装费。提示:经营费用=装运费+礼品包装费代码如下:看Orders表的000001号订单 select * from Orders create procedure prcHandlingCharges /* 定义存储过程 */cOrderNo char(6), /* 定义订变量 */RunningExpenses money outputasbegin dec
6、lare mShippingCharges money, mGiftWrapCharges moneyexec prcCharges cOrderNo, /* 引用prcCharges过程 */ mShippingCharges output, mGiftWrapCharges outputset RunningExpenses=mShippingCharges+mGiftWrapChargesendgo declare RunningExpenses moneyexec prcHandlingCharges '000001',RunningExpenses output /*
7、执行存储过*/print '订单号的经营费用:'+convert(char(10),RunningExpenses)查询结果如下: 4. 表PickofMonth中保存的是某年(iYear)某月(siMonth)某种玩具(cToyId)的销售总量(iTotalSold)。创建一个存储过程prcGenPickofMonth,根据给定的年份和月份生成表PickofMonth中相应的数据。 CREATE PROCEDURE prcGenPickofMonth /*定义存储过程*/year int, /*定义变量 */ month smallintasdeclare /*声明 */so
8、ld INT, ID CHAR(6)SELECT ID = cToyId, sold = iTotalSold /*从PickOfMonth表中赋值给所定义的变量 */ FROM PickOfMonth where iYear=year and siMonth=month print CONVERT(VARCHAR(5), year)+'年'+CONVERT(VARCHAR(5), month) +'月的' print '玩具编号:' + CONVERT(VARCHAR(6), ID) /*打印输出 */ print '销售额:'
9、 + CONVERT(VARCHAR(10), sold)GOEXECUTE prcGenPickofMonth 2001, 1 /*执行给定的日期 */输出结果:检验语句:select * from PickOfMonth Where iYear=2001 and siMonth=15. 在OrderDetail上定义一个触发器,当向OrderDetail表中新增一条记录时,自动修改Toys表中玩具的库存数量(siToyQoh)。 CREATE TRIGGER TrOrderDetail /*定义触发器 */ ON OrderDetail FOR INSERT ASDECLAREToyId
10、CHAR(6), /* 定义变量*/ToyQoh SMALLINT,Qty SMALLINT SELECT ToyId = cToyId, Qty = siQty FROM INSERTED SELECT ToyQoh = siToyQoh /*给变量赋值 */FROM Toys WHERE cToyId = ToyId /*赋值条件 */BEGIN UPDATE Toys /* 更新Toys表*/ SET siToyQoh = ToyQoh-Qty WHERE cToyId = ToyIdEND结果: 插入前查询:执行插入语句检查:insert into Orders values('
11、;000012','05/12/2001','000002','000002','01',6,1.2500,'Y',62.2200,'05/23/2001')insert into OrderDetail values('000012','000007',2,'N',NULL,NULL,29.5000)然后再查询Toys表:6. 在OrderDetail上定义一个触发器,如果购物者改变了定单的数量,玩具的成本也自动地改变。(提示:Toy cost = Quantity * Toy Rate) 创建触发器代码如下:create trigger CheckToyCost on OrderDetail for update /*创建触发器 */asif update(siQty) /* 触发条件*/begin update OrderDetail /*更新表 */ set mToyCost=siQty*mToyRate from OrderDetail,Toyswhere OrderDetail.cToyId = Toys.cToyId end检验:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030LED温度调节器行业市场深度研究与战略咨询分析报告
- 2025-2030自提柜行业发展分析及投资战略研究报告
- 辽宁麻将考试试题及答案
- 警察顾问考试试题及答案
- 2025-2030自动边界控制(ABC)设备行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025届安徽省合肥新城高升学校化学高一下期末达标检测模拟试题含解析
- 2025至2030ICU基本呼吸机行业市场占有率及投资前景评估规划报告
- 2025-2030种植机械市场前景分析及投资策略与风险管理研究报告
- 机关内部培训活动方案
- 晚宴拓展活动方案
- 2024年全市首届档案职业技能竞赛考试题库(含答案)
- 2025年沈阳水务集团有限公司-企业报告(代理机构版)
- 数字化艺术-终结性考核-国开(SC)-参考资料
- 2025盘锦市兴隆台区辅警考试试卷真题
- 二年级口才与演讲教案
- 2025年医养结合养老服务项目可行性研究报告
- 学校规范常规化管理
- 小学数学教学案例分析 (一)
- 装修公司挂靠协议书范本
- 《阿尔茨海默病的护理》课件
- 2025春季学期国开电大专科《人文英语1》一平台在线形考(综合测试)试题及答案
评论
0/150
提交评论