SQL 语言是应用程序和 SQL Server 数据库之间的主要编程接口。使用SQL语言编写代码时,可用两种方法存储和执行代码。

一种是在客户端存储代码,并创建向数据库管理系统发送SQL命令(或SQL语句)并处理返回结果的应用程序;

第二种是将这些发送的SQL语句存储在数据库管理系统中,这些存储在数据库管理系统中的SQL语句就是存储过程。

存储过程与其它程序设计语言中的过程很类似 。

存储过程的定义

存储过程(Stored Procedure)是一组完成特定功能的SQL语句集,经编译后存储在数据库中.它们可以接受参数、输出参数、返回单个或多个结果集以及返回值

在SQL Server中使用存储过程有以下几个优点。

(1)存储过程可以嵌套使用,支持代码重用

(2)存储过程允许模块化程序设计。存储过程一旦创建。以后可在程序中调用任意多次,可以改进应用程序的可维护性。

(3)存储过程可以加快运行速度。比一般SQL语句执行速度快。存储过程被创建时已经被编译,每次执行时不需要重新编译,而SQL语句每次执行都需要编译。

(4)存储过程可以减少网络通信流量。一个需数百行SQL语句代码的操作可以通过一条执行过程代码的语句来执行,无需在网络中发送数百行代码。

(5)存储过程可以作为安全性机制,增强应用程序的安全性。

用户自定义存储过程

扩展存储过程

系统存储过程

在SQL Server 中,许多管理活动和信息活动都是通过一种特殊的存储过程执行的,这种存储过程称为系统存储过程。系统存储过程主要存储在master数据库中并以sp_为前缀。

系统存储过程主要是从系统表中获取信息,从而为数据库系统管理员管理SQL Server提供支持。

创建存储过程

创建存储过程的完整语法如下:

CREATE { PROC | PROCEDURE } [schema_name.] procedure_name
[ { @parameter [ type_schema_name. ] data_type }
[ VARYING ] [ = default ] [ OUTPUT ] ] [ ,...n ]
AS { <sql_statement>

其中各参数的含义如下。

(1)schema_name

存储过程所属架构的名称。

(2)procedure_name

新存储过程的名称。

(3)@parameter

过程中的参数。参数名必须以“at”符号(@)为前缀,在CREATE PROCEDURE语句中可以声明一个或多个参数。

(4)[ type_schema_name. ] data_type

参数以及所属架构的数据类型。

(5)VARYING

指定结果集作为输出参数。仅适用于cursor参数。

(6)default

参数的默认值。

(7)OUTPUT

指示参数是输出参数。

(8)<sql_statement>

存储过程中的过程体,要包含在存储过程中的一个或多个Transact-SQL语句。

例:使用create procedure语句创建一个存储过程,用来根据学生编号查询学生信息。

create procedure proc_student
@proc_sno int
As
Select * from student where sno=@proc_sno

学习安排上

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。【保证100%免费】