SQL Server 2019 数据库编程——存储过程实验

一、相关知识点

SQL Server 数据库基础知识:了解 SQL Server 数据库的概念、架构和基本操作,包括创建数据库、创建表、插入、查询、更新和删除数据等操作。

存储过程的概念和作用:理解存储过程的概念、作用和优势,存储过程是一组预编译的 SQL 语句集合,存储在数据库中,并可以通过名称调用执行。

存储过程的语法和结构:了解存储过程的语法和结构,包括创建存储过程、输入参数、输出参数、返回值、局部变量、条件语句、循环语句、异常处理等。

存储过程的编写和调用:掌握如何编写存储过程,包括定义存储过程名称、输入参数、输出参数、返回值、编写存储过程的 SQL 语句等,以及如何调用存储过程执行。

存储过程的优化和性能调优:了解存储过程的优化技巧和性能调优策略,如使用适当的查询和索引、避免不必要的操作、使用临时表等。

二、软件版本

Microsoft SQL Server Management Studio(v18.7.1)

三、实验所用数据库

实验所基于的销售管理数据库中涉及以下表:

四、实验内容

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

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

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

4.  编程实现删除员工“姜玲娜”,将数据库中与“姜玲娜”相关信息一并删除。

5.  供应商“文成软件有限公司”给员工“章宏”供货2000个优盘。编程实现将采购订单涉及到的相关信息写入到数据库中。

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

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

五、实验过程及数据记录

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

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

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

4.  编程实现删除员工“姜玲娜”,将数据库中与“姜玲娜”相关信息一并删除。

(1)定义触发器:

(2)执行操作:

5.  供应商“文成软件有限公司”给员工“章宏”供货2000个优盘。编程实现将采购订单涉及到的相关信息写入到数据库中。

操作:

结果:

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

(1)定义存储过程:

(2)调用存储过程:

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

(1)定义存储过程:

(2)调用存储过程:

六、实验小结

1、本次实验中遇到无法在数据库删除关联数据的问题。最后使用instead of 触发器解决。

2、存储过程中也可定义查询语句和进行数据库编程。

3、数据库编程中,需要给局部变量赋值时需要在语句前加上set 或select。

4、局部变量名以‘@’开始。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值