欢迎来到天天文库
浏览记录
ID:38657817
大小:48.50 KB
页数:5页
时间:2019-06-17
《创建管理存储过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、存储过程的概念(StoredProcedure)存储过程是一种数据库对象,是为了实现特定任务,将一组预编译的SQL以一个存储单元的形式存储在服务器上,供用户或客户端应用程序调用。存储过程在第一次执行时进行编译,然后将编译好的代码保存在高速缓存中以便被多次调用,以提高代码的执行效率。存储过程与其它编程语言中的过程相似,具有如下特点:(1):存储过程是一种有效地具有封装性可重复进行调用的SQL对象,其执行速度快,网络上数据传输流量低,具有一定的系统安全性。(2):存储过程接受输入参数并可以用输出参数的形式将多个值返回至调用过程或客户端应用程序。(3):存储过程可以包含用于数据
2、库中执行操作(包括调用其他过程)的编程语句。(4):向调用过程或客户端应用程序返回存储过程的状态值,以指明成功或失败(以及失败的原因)。创建/管理简单的存储过程1.查看存储过程使用系统存储过程查看存储过程信息(1):使用sp_helptext查看存储过程的文本信息,其语法格式如下:execsp_helptextp_employeeLogin(2):使用sp_depends查看存储过程的相关性其语法格式为:execsp_dependsp_employeeLogin(3):使用sp_help查看存储过程的一般信息,如类型,拥有者,创建时间等信息。其语法格式为:execsp_h
3、elpp_employeeLogin2.修改存储过程SQLServer使用alterproc语句来修改现有的存储过程,在修改存储过程时将会覆盖以前的存储过程的定义文本。3.删除存储过程dropprocp_employeeLogin创建/管理带参的存储过程1.总体概论存储过程的参数类型在SQLServer的存储过程中使用参数,可以扩展存储过程的功能,参数可用于存储过程及应用程序之间交换数据。存储过程中可以使用两种类型的参数,即输入参数和输出参数。(1):输入参数允许用户或者客户端应用程序将数据值传递到存储过程或函数中。(2):输出参数允许存储过程将数据值或游标变量传递给用户
4、或者客户端应用成程序。(3):每个存储过程向用户或者客户端应用程序返回一个整数代码,如果存储过程没有显示设置返回代码的值,则返回代码为0。注:存储过程的参数在创建时应在createprocedure(proc)和as关键字之间定义,每个参数都要指定参数名和数据类型,参数名必须以@符号为前缀,可以为参数指定默认值。如果是输出参数,则应用output关键字描述,各个参数定义之间用逗号隔开。1.创建/执行带输入参数的存储过程(1)创建带输入参数的存储过程输入参数指在存储过程中有一个条件,在执行存储过程时为这个条件指定值,通过存储过程返回相应的信息,使用输入参数可以向同一存储过程
5、传递不同的值,从数据库中进行多次查询,返回符合条件的结果。例:usenorthwindgocreateprocp_getEmployees@citynvarchar(15),@hiredatedatetimeasselect*fromemployeeswherecity=@cityandhiredate>=@hiredate(2)执行带输入参数的存储过程在执行带有输入参数的存储过程时,SQLServer提供了如下两种参数传递的方式。a.按位置传递参数值这种方式是在执行存储过程的语句中,直接给出参数的值,当有多个参数时,给出的参数的顺序与创建执行存储过程的语句中的参数的顺序
6、一致,即参数传递的顺序就是参数定义的顺序。例:execp_getEmployees'London','1990-1-1'b.这种方式是在执行存储过程的语句中,使用“参数名=参数值“的形式给出参数值。其优点是参数可以以任意顺序给出。execp_getEmployees@city='London',@hiredate='1990-1-1'execp_getEmployees@hiredate='1990-1-1',@city='London'(3)在输入参数中使用默认值在执行存储过程p_getemployees时,如果没有指定参数,则系统运行就会出错,此时如果希望在执行时不给
7、出参数也能正确运行,则在创建存储过程时为输入参数指定默认值。因此修改存储过程代码如下:alterprocp_getEmployees@citynvarchar(15)='London',@hiredatedatetime='1990-1-1'asselect*fromemployeeswherecity=@cityandhiredate>=@hiredate注:执行存储过程为:execp_getEmployees2.创建/执行带输出参数的存储过程(1)创建带输出参数的存储过程通过定义输出参数,可以从存储过程中返回一个或者多个值
此文档下载收益归作者所有