当前位置:   article > 正文

数据库实验五_查询用户的订单信息,列出订单id

查询用户的订单信息,列出订单id

实验五 数据库编程

一、实验目的

1.掌握数据库编程各种控制语句的使用

2.掌握存储过程的创建

二、实验内容

编程计算S=2+4+6+……+100

DECLARE @i int,@sum int

SELECT @sum =0,@i=2

WHILE(@i<=100)

BEGIN

SET @sum+=@i

SET @i+=2

END

PRINT @SUM

 

编程计算S=1+(1+3)+(1+3+5)+……+(1+3+5……+51)

Σn²=n(n+1)(2n+1)/6

DECLARE @n int , @S int

SELECT @S=0,@n=1

WHILE (@n<=51)

BEGIN

SET @S=(@n*(@n+1)*(2*@n+1))/6

SET @n+=1

END

PRINT @S

查询是否有“打印机”的订单,如果有,输出“目前有打印机的订单”,如果没有,输出“目前没有打印机的订单”。

IF

(

SELECT COUNT(S.SellOrderID) 

FROM Sell_Order S ,Product P

WHERE P.ProductID=S.ProductID AND P.ProductName='打印机'

)=0

PRINT '目前没有打印机的订单'

ELSE PRINT '目前有打印机的订单'

IF(

SELECT SellOrderID

FROM Sell_Order

WHERE EXISTS(SELECT ProductID

 FROM Product

 WHERE ProductName='打印机')

) IS NULL

PRINT '目前没有打印机的订单'

ELSE PRINT '目前有打印机的订单'

在销售管理数据库中创建存储过程proc_select,实现查询所有员工的功能。

CREATE procedure PROC_SELECT

AS 

SELECT *

FROM Employee

在销售管理数据库中创建存储过程proc_employee_order,要求实现如下功能:根据员工的姓名查询该员工的奖金情况,奖金根据该员工接收订单的总金额计算得到(奖金=总金额*5%),调用存储过程,查询员工王孔若和蔡慧敏的奖金。

CREATE PROCEDURE PROC_EMPLOYEE_ORDER 

@EMPLOYEENAME VARCHAR(10)

AS

SELECT EmployeeName,SUM(SellOrderNumber*Price*0.05)

FROM Employee,Sell_Order,Product

WHERE Employee.EmployeeID=Sell_Order.EmployeeID AND Sell_Order.ProductID=Product.ProductID AND Employee.EmployeeName=@EMPLOYEENAME

GROUP BY Employee.EmployeeName

EXEC PROC_EMPLOYEE_ORDER @EMPLOYEENAME='王孔若'

EXEC PROC_EMPLOYEE_ORDER @EMPLOYEENAME='蔡慧敏'

 

在销售管理数据库中创建存储过程proc_customer_order, 要求实现如下功能:根据客户的公司名称查询该客户的订单情况,如果该公司没有订购商品,则输出“某某公司没有订购商品”,否则输出订购商品的相关信息,包括公司名称,联系人姓名,订购商品名称,订购数量,单价。调用存储过程,查询“通恒机械有限公司”订购商品情况。

CREATE PROCEDURE PROC_CUSTOMER_ORDER

@COMPANYNAME VARCHAR(10)

AS

IF

(SELECT COUNT(SellOrderID)

FROM Sell_Order 

GROUP BY CustomerID)=0

PRINT '某某公司没有订购商品'

ELSE 

(

SELECT C.CompanyName,C.ContactName,P.ProductName,S.SellOrderNumber,P.Price

FROM Customer C,Sell_Order S,Product P

WHERE C.CustomerID=S.CustomerID AND S.ProductID=P.ProductID and c.CompanyName=@COMPANYNAME

)

EXEC PR0C_CUSTOMER_ORDER @COMPANYNAME='通恒机械有限公司'

数据库系统概论

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/970604
推荐阅读
相关标签
  

闽ICP备14008679号