存储过程(Stored Procedure)是一组完成特定功能的T-SQL语句集,经编译后存储在SQL Server服务器中,并通过过程名执行。存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。存储过程在创建时被编译和优化,调用一次以后,相关信息就保存在内存中,下次调用时可以直接执行。
存储过程与其他编程语言中的过程类似,存储过程具备了以下功能。
●包含用于在数据库中执行操作(包括调用其他过程)的编程语言。
●接受输入参数并以输出参数的格式向调用过程或批处理返回一个或多个值。
●向调用过程或批处理返回状态值,以指明成功或失败(以及失败的原因)。
在使用SQL Server 2005创建应用程序时,T-SQL编程语言是应用程序和SQL Server数据库之间的主要编程接口。使用T⁃SQL编程语言时,可用两种方法存储和执行程序,可以在本地存储程序,并创建向SQL Server发送命令和处理结果的应用程序;也可以将程序在SQL Server中存储为存储过程,并创建执行存储过程和处理结果的应用程序。(www.xing528.com)
使用存储过程与本地的T⁃SQL程序相比,有如下优点。
●允许模块化程序设计:存储过程可以封装企业的功能模块(这种企业的功能模块也称为商业规则或商业策略),而且可以只创建一次并将其存储在数据库中,以后即可以在程序中多次调用,而且可以统一修改。
●允许更快执行:存储过程在执行一次之后,其执行规划就被自动保存到高速缓存中。当再次使用该过程时,就可以从高速缓存中调用该存储过程编译过的二进制代码进行执行。这不同于T⁃SQL语句,它每次运行时都要从客户端重新输入,并由SQL Server进行编译和优化。在需要大量T⁃SQL或需要重复执行时,存储过程的执行比T⁃SQL批代码的执行要快。
●减少网络流量:一个需要数百行T⁃SQL代码的操作由一条执行过程代码的单独语句就可以实现,而不需要在网络中发送数百行代码。
●可作为安全机制使用:只要用户被授予了执行存储过程的权限,即使该用户没有直接执行存储过程中语句的权限,他也可以执行这个存储过程。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。