下载此文档

SQL实验报告.docx


文档分类:IT计算机 | 页数:约36页 举报非法文档有奖
1/36
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/36 下载此文档
文档列表 文档介绍
实验四触发器实验(一)after触发器(1)在lineitem表上定义一个after触发器,当修改列项目extendedpricediscounttax时,要把orders表的totalprice一起修改,以保证数据一致性CREATETRIGGERtrig_lineitem_price_updateonlineitemforupdateasbeginif(UPDATE(extendedprice)orUPDATE(tax)orUPDATE(discount))begin--声明游标变量指向inserted表declarecursor_insertedcursorread_onlyforselectorderkey,linenumber,extendedprice,discount,taxfrominserted--声明变量获取查找信息******@orderkeyint,***@linenumberint,***@extendedpricereal,***@discountreal,***@taxreal--打开游标opencursor_inserted--读取游标fetchnextfromcursor_******@orderkey,***@linenumber,***@extendedprice,***@discount,***@taxwhile@***@FETCH_STATUS=0begin--声明一个变量保存重新计算的新价格******@new_******@new_totalprice=***@extendedprice*(1-***@discount)*(1+***@tax)--用新的总价格变量更新orders表的totalpriceupdateorderssettotalprice=***@new_totalpricewhereorderkey=***@orderkeyfetchnextfromcursor_******@orderkey,***@linenumber,***@extendedprice,***@discount,***@taxenddeallocatecursor_insertedendend(2)在lineitem表上定义一个after触发器,当增加一项订单明细时,自动修改orders表的totalprice,以保证数据一致性CREATETRIGGERtrig_lineitem_price_insertonlineitemforinsertasbegin--声明游标变量指向inserted表declarecursor_insertedcursorread_onlyforselectorderkey,linenumber,extendedprice,discount,taxfrominserted--声明变量获取查找信息******@orderkeyint,***@linenumberint,***@extendedpricereal,***@discountreal,***@taxreal--打开游标opencursor_inserted--读取游标fetchnextfromcursor_******@orderkey,***@linenumber,***@extendedprice,***@discount,***@taxwhile@***@FETCH_STATUS=0begin--声明一个变量保存重新计算的新价格******@new_******@new_totalprice=***@extendedprice*(1-***@discount)*(1+***@tax)--用新的总价格变量更新orders表的totalpriceupdateorderssettotalprice=totalprice+***@new_totalpricewhereorderkey=***@orderkeyfetchnextfromcursor_******@orderkey,***@linenumber,***@extendedprice,***@discount,***@taxenddeallocatecursor_insertedend(3)在lineitem表上定义一个after触发器,当删除一项订单明细记录时,自动修改orders表的totalprice,以保证数据一致性CREATETRIGGERtrig_lineitem_price_deleteonlineitemfordeleteASbegin--声明游标变量指向deleted表declarecursor_deletedcursorread_onlyforselectorderkey,linenumber,extendedprice,discount,taxfromdeleted--声明变量获取查找信息******@orderkeyint,***@li

SQL实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数36
  • 收藏数0 收藏
  • 顶次数0
  • 上传人aisheng191
  • 文件大小1.16 MB
  • 时间2020-03-09