WEB开发网
开发学院数据库MSSQL Server 详解SQLServer 存储过程 阅读

详解SQLServer 存储过程

 2009-07-05 11:35:47 来源:WEB开发网   
核心提示:Sql Server的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句集合,是封装重复性工作的一种方法,它支持用户声明的变量、条件执行和其他强大的编程功能,存储过程相对于其他的数据库访问方法有以下的优点:(1)重复使用,详解SQLServer 存储过程,存储过程可以重复使用,从而可以减少数据库

Sql Server的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句集合,是封装重复性工作的一种方法,它支持用户声明的变量、条件执行和其他强大的编程功能。

存储过程相对于其他的数据库访问方法有以下的优点:

(1)重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。

(2)提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。

(3)减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。

(4)安全性。参数化的存储过程可以防止SQL注入式的攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。

存储过程一共分为了三类:用户定义的存储过程、扩展存储过程以及系统存储过程。

其中,用户定义的存储过程又分为Transaction-SQL和CLR两种类型。

Transaction-SQL 存储过程是指保存的Transaction-SQL语句集合,可以接受和返回用户提供的参数。

CLR存储过程是指对.Net Framework公共语言运行时(CLR)方法的引用,可以接受和返回用户提供的参数。他们在.Net Framework程序集中是作为类的公共静态方法实现的。(本文就不作介绍了)

创建存储过程的语句如下:

[schema_name]: 代表的是存储过程所属的架构的名称

  例如:

     Create Schema yangyang8848   
       Go
       Create Proc yangyang8848.AllGoods
       As Select * From Master_Goods
       Go

     执行:Exec AllGoods 发生错误。

     执行:Exec yangyang8848.AllGoods 正确执行。

  [;Number]: 用于对同名过程进行分组的可选整数。使用一个 DROP PROCEDURE 语句可将这些分组过程一起删除。

  例如:

     Create Proc S1 ;1
       AS
          Select * From Master_Goods
       Go
       Create Proc S1 ;2
       As
          Select * From Master_Location
       Go

1 2 3  下一页

Tags:详解 SQLServer 存储

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接