【数据库】数据库存储过程(一)

1,177 阅读3分钟

  SQL存储过程(一)

  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

  最后:

  关注回复“软件测试”即可获取软件测试全套视频教程