SQL ServerSQL Server存储过程多角度介绍

好家伙是储存过程:

       
存储过程(Procedure)类似于C#语言中之法门,它是SQL语句和决定流语句之预编译集合。存储过程存储于数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、逻辑控制语句以及另强大的编程功能。

       
存储过程只是含蓄逻辑控制语句和数码操作语句,它可以接收参数、输出参数、返回单个或多独结实集和返回值。

       
存储过程在开立时即便以服务器上进行编译,所以实行起来较单个SQL语句快。

        类似于C#受到之类库,SQL Server
提供了有预编译的囤积过程,这些囤积过程叫“系统存储过程”。

 

SQL Server中之储存过程的特征如下:

        1>接收输入参数,并往调用过程要报告句返回值。

        2>包含在数据库被实行操作还是调用其他存储过程的编程语句。

       
3>向调用过程返回状态值,指示执行过程是否成功(如果失败,还返回失败原因)

 

采用存储过程发生下列优点:

        1>允许模块化程序设计

偏偏需要创建同不良存储过程并拿那个储存在数据库中,所以即可在程序中调用该过程任意次。

        2>允许再快地实践

假若有操作需要大量的T-SQL代码或用重执行,存储过程将比T-SQL批处理代码的履行要及早。将以开立存储过程不时对那进展辨析与优化,并可每当首不行施行该过程后使该过程外存中的本。但假如采用T-SQL批处理代码,每次运行T-SQL语句时,都要从客户端重复发送,并且于SQL-Server每次执行这些话时,都要本着那进展编译和优化。

        3>减少网络流量

创建以存储过程后,一个需数百实施T-SQL代码的操作,由同样长条实施该过程代码的单独语句就不过实现,而未需要以网络中发送数百实行代码

        4>可当安全体制以

即使对于尚未一直实施存储过程中告诉句的权的用户,也可是给予他们实行该存储过程的权限

 

储存过程分成以下简单好像:

        1>系统存储过程

        2>用户从定义存储过程

 

常用之网存储过程:

sp_databases:列出服务器上之拥有数据库

sp_helpdb:报告有关指定数据库或富有数据库的消息

sp_renamedb:更改数据库的名称

sp_tables:返回时条件下而查询的对象的列表

sp_columns:返回某个表列的消息

sp_help:查看有表的装有消息

sp_helpconstraint:查看有表底约束

sp_helpindex:查看有表底目

sp_stored_procedures:列出当前条件中之具有存储过程

sp_password:添加或涂改登录账户的密码

sp_helptext:显示默认值、未加密的囤过程、用户定义的囤积过程、触发器或视图的其实文本

另外,还有一个常用的扩大存储过程:xp_cmdshell,它好就DOS命令下之组成部分操作,诸如创建文件夹、列有文件列表等。

 http://www.cnblogs.com/roucheng/

用户定义之蕴藏过程:

除开系统存储过程,用户还好创建自己之仓储过程,可使Microsoft SQL
Management Studio或采取T-SQL语句,使用Microsoft SQL Management
Studio创建存储过程的步骤类似于视图,用于创造存储过程的T-SQL语句也CREATE
PROCEDURE。所有的囤过程还创造于时数据库中。

 

创不牵动参数的蕴藏过程:

使T-SQL语句创建存储过程的语法如下:

CREATE PROC[EDURE] 存储过程叫

           AS

        SQL语句

调用存储过程:

EXEC 存储过程叫

 

缔造带输入参数的的蕴藏过程:

输入参数:可以于调用时向存储过程传递参数,此类参数可用来以仓储过程遭到传值。

带来输入参数的蕴藏过程T-SQL语句如下:

CREATE PROC[EDURE] 存储过程叫

        @参数1   数据类型  [ = 默认值 ],

        ……,

        @参数n   数据类型  [ = 默认值 ]

   AS

        SQL语句

调用存储过程:

EXEC 存储过程名 参数1之价,……,参数n的价值

         或

EXEC 存储过程名  @参数1=值,……,@参数n=值

 

始建带输出参数的贮存过程:

出口参数:如果要返回值,则可以使用输出参数,输出参数后发出“OUTPUT”标记,执行存储过程后,将将返回值存放于出口参数中,可供应其他T-SQL语句读取访问。

带动输出参数的贮存过程T-SQL语法如下:

CREATE PROC[EDURE] 存储过程叫

        @参数1   数据类型  [ OUTPUT ],

        ……,

        @参数n   数据类型  [ OUTPUT ]

   AS

        SQL语句

调用存储过程:

EXEC 存储过程名 变量名 OUTPUT

相关文章