实验名称 实验5 存储过程 日期 2020年 6 月 18 日
一、实验目的:
(1)掌握T-SQL流控制语句。
(2)掌握创建存储过程的方法。
(3)掌握存储过程的执行方法。
二、实验环境:
PC + Windows + SQL Server
三、实验内容
1.创建简单存储过程
创建一个名为stu_pr的存储过程,该存储过程能查询出051班学生的所有资料,包括学生的基本信息、学生的选课信息(含未选课同学的信息)。要求在创建存储过程前判断该存储过程是否已创建,若已创建则先删除,并给出“已删除!”信息,否则就给出“不存在,可创建!”的信息。
截图:
2.创建带参数的存储过程
(1)创建一个名为stu_proc1的存储过程,查询某系、某姓名的学生的学号、姓名、年龄、选修课程名、成绩。系名和姓名在调用该存储过程时输入,其默认值分别为“%” 与“林%”。执行该存储过程,用多种参数加以测试。
截图:
测试数据截图:
(2)创建一个名为student_sc的存储过程,可查询出某学号段的同学的学号、姓名、总成绩。(学号起始号与终止号在调用时输入,可设默认值。)执行该存储过程。
截图:
测试数据:
3.创建带输出参数的存储过程
(1)创建一个名为course_average的存储过程,可查询某门课程考试的平均成绩。总成绩可以输出,以便进一步调用。
截图:
测试数据:
(2)创建一执行该存储过程的批处理,要求当平均成绩小于60时,显示信息为:“XX课程的平均成绩为:XX,其平均分未达60分”。超过60时,显示信息为:“XX课程的平均成绩为:XX”。
截图:
4.创建带重编译及加密选项的存储过程
创建一个名为update_sc、并带加密选项的存储过程,可更新指定学号、指定课程号的学生的课程成绩。(学号、课程号在调用时输入)
截图:
测试数据:
四、心得体会(150字以上):
通过此次实验,了解了存储过程是存储在数据库服务器中的一组编译成单个执行计划的SQL语句。由于存储过程不像解释执行的SQL语句那样在提出操作请求时才进行语法分析和优化,因而运行效率高,它提供了再服务器端快速执行SQL语句的有效途径。降低了客户机和服务器之间的通信量,客户机上的应用程序只要通过网络向服务器发出存储过程的名字和参数,就可以让RDBMS执行多条SQL语句,并执行数据处理,只将最终处理结果返回客户端。以及方便实施企业规则,开发人员可以把企业规则的运算程序写成存储过程放入数据库服务器,由RDBMS管理,既有利于集中控制,又方便维护。当用户规则发生变化时只要修改存储过程,无须修改其他应用程序。