数据库-存储过程(概念、优缺点、分类)

来源:互联网 发布:阿里云香港b区 编辑:程序博客网 时间:2024/04/19 16:29

(1)概念:

    ① 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集。经编译后存储在数据库 中。

    ② 存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过 程带有参数)来执行它。

    ③ 存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中。

    ④ 存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量。

    ⑤ 同时,存储过程可以接收和输出参数、返回执行存储过程的状态值,也可以嵌套调用。

(2)优点:

    ① 增强了SQL语句的功能和灵活性

    ② 不需要反复建立一系列处理步骤,保证了数据的完整性

    ③ 降低了网络的通信量,客户端调用存储过程只需要传存储过程名和相关参数即可,与传输SQL语 句相比自然数据量少了很多

    ④ 增强了使用的安全性,通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而 保证数据的安全。

    ⑤ 可以实现集中控制,当规则发生改变时,只需要修改存储过程就可以啦。

(3)缺点:

    ① 调试不是很方便

    ② 可能没有创建存储过程的权利

    ③ 重新编译问题

    ④ 移植性问题

(4)分类:

    ① 系统存储过程:以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作。 

    ② 本地存储过程:用户创建的存储过程是由用户创建并完成某一特定功能的存储过程,事实上一般所说的存储过程就是指本地存储过程。

    ③ 临时存储过程:分为两种存储过程: 

一是本地临时存储过程,以井字号(#)作为其名称的第一个字符,则该存储过程将成为一个存放在tempdb数据库中的本地临时存储过程,且只有创建它的用户才能执行它;

二是全局临时存储过程,以两个井字号(##)号开始,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程,全局临时存储过程一旦创建,以后连接到服务器的任意用户都可以执行它,而且不需要特定的权限。

    ④ 远程存储过程:在SQL Server2005中,远程存储过程(Remote Stored Procedures)是位于远程服务器上的存储过程,通常可以使用分布式查询和EXECUTE命令执行一个远程存储过程。

    ⑤ 扩展存储过程:扩展存储过程(Extended Stored Procedures)是用户可以使用外部程序语言编写的存储过程,而且扩展存储过程的名称通常以xp_开头

0 0
原创粉丝点击