数据库实验五

编程入门 行业动态 更新时间:2024-10-11 11:13:28

<a href=https://www.elefans.com/category/jswz/34/1771350.html style=数据库实验五"/>

数据库实验五

实验五 数据库编程

一、实验目的

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='通恒机械有限公司'

数据库系统概论

更多推荐

数据库实验五

本文发布于:2024-02-13 18:52:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760351.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据库

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!