存储过程

1.什么是存储过程

存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理,是数据库中的一个对象。

存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。

2.存储过程的类型

1、系统存储过程:以“sp_”为前缀标识,存储在“master”数据库中,提供对系统表的检索和管理功能。

2、扩展存储过程:以“xp_”为前缀标识,通过执行外部DLL来实现功能。

3、本地存储过程:创建在用户数据库中。

4、临时存储过程:主要用于用户会话中临时存储的功能。

5、远程存储过程:为早期功能。

3.存储过程的优点

1、与其他应用程序共享应用逻辑,确保一致的数据访问和修改。存储过程封装了商务逻辑。若规则或策略有变化,则只需要修改服务器上的存储过程,所有的客户端就可以直接使用。

2、屏蔽数据库模式的详细资料。用户不需要访问底层的数据库和数据库内的对象。

3、提供了安全性机制。用户可以被赋予执行存储过程的权限,而不必在存储过程引用的所有对象上都有权限。

4、改善性能。预编译的 Transact-SQL 语句,可以根据条件决定执行哪一部分。

5、减少网络通信量。客户端用一条语句调用存储过程,就可以完成可能需要大量语句才能完成的任务,这样减少了客户端和服务器之间的请求/回答包。