- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
叶磊数据库概要
实验报告 姓名: 叶磊 学号: 1 任务概述(任务说明)
存储过程
使用相应SQL语句,完成如下操作:
新建一存储过程proc1,显示指定用户ID的订单信息列表(订单号、成交时间、订单总金额、订单状态及所有订单的平均金额),并成交时间降序排列。
新建一存储过程proc2,通过输入订单号、书目ID及数量,实现给该订单增加商品、更新订单总金额,并返回当前订单包含的商品总数(商品类别数量)。
新建一存储过程proc3,通过修改指定订单、指定商品的价格,并返回该订单的新总金额及优惠金额。
新建一存储过程proc4,统计各订单总金额的分布情况。订单金额划分情况如下: 0-50元、51-100元、101-150元、151-200元和201元以上。
新建一存储过程 proc5,实现查询购买过指定书目ID的用户还同时购买过的购买次数最多的前3名书目名称及购买次数,并按照购买次数排序。
新建一存储过程proc6,实现查询与指定用户ID购买过相同商品的用户及购买过相同商品的数量,并按照相同商品数量降序排列。
触发器
创建一触发器tg1,当往orderbook表中增加记录时,实现商品库存相应减少;当修改orderbook表中相应商品数量时,实现商品数量相应变动。
创建一触发器tg2,当往orderbook中增加记录时,如果商品库存量少于10,则不允许购买该商品,并给出相应提示。
新建图书订购情况统计表bookstas(包含图书编号、图书名称、图书类别、图书价格和订购册数,数据类型自定),并根据数据库的订单情况将社科类图书的订购情况插入表中。创建一触发器tg3,当往orderbook表中增加记录时,自动更新bookstas表相应图书的统计信息 4源码,文档化
---新建一存储过程proc1,显示指定用户ID的订单信息列表
---(订单号、成交时间、订单总金额、订单状态及所有订单的平均金额),并成交时间降序排列。
create procedure proc1
@user_id varchar(20)
as
select oid,ordertime,payment,orderstate,avgpayment,sumpayment
from order,orderstate,
(select avg(payment) avgpayment
from order
where user = @user_id) a,
(select sum(payment) sumpayment
from order
where user = @user_id) b
where order.state = orderstate.osid
and user = @user_id
order by ordertime desc
go
exec proc1 102
---新建一存储过程proc2,通过输入订单号、书目ID及数量,
---实现给该订单增加商品、更新订单总金额,并返回当前订单包含的商品总数(商品类别数量)。
create procedure proc2(
@order_id varchar(20),
@book_d varchar(20),
@book_s varchar(20)
)
as
update order
set payment = payment + price
from book,order
where oid in(
select orderid
from orderbook
where bookid = @book_d)
and bid = @book_d
update orderbook
set quantity = quantity + @book_s
where orderid = @order_id
select bookid
from orderbook
where orderid = @order_id
go
exec proc2 2014001,1001,4
---新建一存储过程proc3,通过修改指定订单、指定商品的价格,并返回该订单的新总金额及优惠金额。
create procedure proc3
@order_id varchar(20),
@book_id varchar(20),
@s_price varchar(20)
as
update order
set payment = payment + ((@s_price - price) * quantity)
from book,orderbook
where bookid = @book_id and( bid = @book_id and orderid = @
原创力文档


文档评论(0)