首页 理论教育SQLServer数据库技术:存储过程概念及应用

SQLServer数据库技术:存储过程概念及应用

【摘要】:1)模块化设计每个存储过程是一个模块,具备一定的功能。4)增强安全性授予用户执行存储过程的权限,不授予用户直接访问存储过程涉及的表的权限,从而保证表中数据的安全。

存储过程是一组用于完成特定功能的T-SQL语句集,是利用SQL Server所提供的TSQL语言所编写的程序,经编译后存储在数据库中。存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。它是一组编译好并存储在服务器上的完成特定功能T-SQL代码,存储过程与其他编程语言中的过程有些类似。

1.存储过程的优点

存储过程是一种独立的数据库对象,它在服务器上创建和运行,与存储在客户端计算机本地的T-SQL语句相比,有以下优点。

1)模块化设计

每个存储过程是一个模块,具备一定的功能。存储过程一旦创建,可多次调用,从而极大地提高了程序的重用性,从而可以减少数据库开发人员的工作量。

2)执行速度较快

存储过程在创建时经过编译,已经存储在系统表中,以后再次调用该存储过程时不必再进行编译和优化,执行步骤的减少提高了执行速度。

3)减小网络流量

存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数即可,因此减小了网络传输的数据量。(www.chuimin.cn)

4)增强安全性

授予用户执行存储过程的权限,不授予用户直接访问存储过程涉及的表的权限,从而保证表中数据的安全。

2.存储过程的分类

SQL Server提供了3种类型的存储过程。

(1)系统存储过程:数据库基础管理工作的一类特殊存储过程,存储在源数据库中,并且带有“sp_前缀”,例如sp_helptext、sp_rename、sp_help等。

(2)用户自定义存储过程:用户在SQL Server中通过T-SQL语句创建的自定义功能的存储过程,本章后面介绍的存储过程主要是指用户自定义存储过程。

(3)扩展存储过程:扩展存储过程是SQL Server实例可以动态加载和运行的动态链接库(Dynamic Link Library,DLL)。扩展存储过程是使用SQL Server扩展存储过程API编写的,可直接在SQL Server实例的地址空间中运行。