三.实验内容 1.创建视图。 (1)创建视图V_BookSell,使其...
三.实验内容 1.创建视图。 (1)创建视图V_BookSell,使其包含图书销量情况。要求显示图书代码(BookCode)、图书名称(BookName)、作者(Author)、出版社名称(Publisher)以及数量(Amount)。 (2)创建视图V_CustomerBookOrderDetail。要求显示订单号(OrderCode)、客户名(Name)、客户等级(VIPClass)、书名(BookName)、单价(Price)、数量(Amount)、折扣(Discount)以及总价(TotalPrice=Price*Amount*Discount)。 (3)创建视图V_CustomerVIPABTotalOrder,汇总客户订单信息。使其包含用户等级为“A”和“B”、且不姓“郭”和“刘”的客户订单信息,要求显示客户姓名(Name)以及所订图书总金额,并按所订图书总金额降序排列。 2.创建存储过程 (1)创建存储过程proc_SearchBook,查询指定书名的图书信息。 (2)创建存储过程proc_FuzzySearchBook,实现按书名(全名或部分书名)模糊查询图书信息。 (3)创建存储过程proc_SearchCustomerMoney,查询指定客户在某一年之前的购书总金额(已知客户号和年份,输出总金额)。 (4)创建存储过程proc_UpdateVIPClass,修改指定客户(CustomerCode)的用户等级(VIPClass)。 (5)创建存储过程proc_InsertOrderDetail,向OrderDetail表添加一条记录。 3.创建触发器 (1)创建触发器tri_OrderDetailInsertUpdate,当在OrderDetail表中增加或修改订单细节时,计算Order表中相关订单的总价格TotalPrice。 (2)创建触发器tri_CustomerEvaluationInsertUpdate,当CustomerEvaluation表发生Insert、Update操作时,以当前时间修改被更新记录的EvaluateDate值。 (3)创建触发器tri_UpdateOrderStatus,当将Order表中记录的订单状态改为“结单”时,自动计算CustomerEvaluation中该用户的客户等级。 (4)创建触发器tri_BookOrderDel,当从Order表删除记录时,检查订单状态如果不是“待处理”状态,报告“结单或已发货,订单不能被删除”,否则先删除OrderDetail表中的相关数据。