实验6:存储过程
实验环境:SQL Server
(1)实验目的
掌握数据库PL/SQL编程语言,以及数据库存储过程的设计和使用方法。
(2)实验内容和要求
存储过程定义、存储过程运行,存储过程更名,存储过程删除,存储过程的参数传递。掌握PL/SQL编程语言和编程规范,规范设计存储过程。
(3)实验重点和难点
实验重点:存储过程定义和运行。
实验难点:存储过程的参数传递方法。
(4)实验过程
SQL是非过程化的查询语言,具有操作统一、面向集合、功能丰富、使用简单等优点,但和程序设计语言相比,高度非过程化造成了它缺少流程控制的能力,难以实现应用业务中的逻辑控制。SQL变成技术就是克服了这个缺点,提高了应用系统和数据库管理系统的互操作性。
存储过程是由过程化SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,因此称它为存储过程,使用时只要调用即可。它具有以下优点:
(1)由于存储过程不像解释执行的SQL语句那样在提出操作请求时才进行语法分析和优化工作,因而运行效率高,它提供了在服务器端快速执行SQL语句的有效途径。一次编译优化,之后直接调用
(2)存储过程降低了客户机和服务器之间的通信量。客户机上的应用程序只要通过网络向服务器发出调用存储过程的名字和参数,就可以让关系数据库管理系统执行其中的多条SQL语句并进行数据处理。只有最终的处理结果才返回客户端。
(3)方便实施企业规则。可以把企业规则的运算程序写成存储过程放入数据库服务器中,由关系数据库管理系统管理,既有利于集中控制,又能够方便地进行维护。当企业规则发生变化时只要修改存储过程即可,无须修改其他应用程序。
1. 无参数的存储过程
在学生选课系统的数据库上创建一个名为stu_pr的存储过程,该存储过程能查询出所有学生的所有信息
SQL Server语法不需要REPLACE,且不带参数的存储过程不需要括号,否则会报错。
CREATE PROCEDURE stu_pr
AS
BEGIN
SELECT * FROM Student;
END;
调用过程:语句格