数据库实验十报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十触发器
1 实验目的与要求
(1) 掌握触发器的创建和使用方法。
(2) 掌握游标和触发器的综合应用方法。
2 实验内容
请完成下面实验内容:
(1) 创建触发器,该触发器仅允许“dbo”用户可以删除Employee表内数据。
触发器创建:
添加用户:
图-1 测试结果
(2) 创建触发器,当向订单明细表添加销售明细数据时,统计该订单销售金额。
要求:如果订单金额5000元及以上,则该订单中销售的所有商品按9折进行优惠处理(更新订单明细表中成交价格),同时还应更新订单总表中该订单的订单金额。
触发器创建:
测试结果:
OrderDetail表:
OrderMaster表:
图-2 测试结果
(3) 创建触发器,要求当修改Employee表中员工的出生日期或雇佣日期时,必须保证出生日期在雇佣日期之前,且雇佣日期与出生日期之间必须间隔16周年及以上。
触发器创建:
测试:
图-3 测试结果
(4) 当更新Customer表中的customerNo列的值的时候(一次只能更新一行),同时更新OrderMaster表中的customerNo列的值。
触发器创建:
测试:
测试结果:
图-4 测试结果
(5) 创建触发器,当业务员总销售业绩超过(含)10000元时,其薪水自动增加20%,当业务员总销售业绩超过(含)5000元低于10000时,其薪水自动增加10%,当业务员总销售业绩低于5000时,其薪水自动减少10%。
触发器创建:
测试结果:
测试之前的员工薪金。
更新OrderMaster之后,红色圈中的员工薪金已经发生了变化。
图-5 测试结果
(6) 创建触发器,将入职3个月没有业绩的业务科人员做离职处理,其信息拷贝到离职表中(离职表需要自己事先建好,其表结构与员工表相同)。
离职员工人事表创建:
触发器创建:
测试:
图-6 测试结果。