一 、引言 在使用.NET的过程中,数据库访问是一个很重要的部分,特别是在B/S系统的构建过程中,数据库操作几乎成为了一个必不可少的操作。调用存储过程实现数据库操作使很多程序员使用的方法,而且大多数的程序员都是能使用存储过程就使用存储过程,很少直接使用SQL语句,所以存储过程是很有用而且很重要。 内容来自论文无忧网 www.paper51.com 二、存储过程简介 内容来自论文无忧网 www.paper51.com
存储过程是Transact-SQL语句的预编译集合,它以一个名称存储并作为一个单元处理,用户可以在前台或后台调用存储过程.它驻留在数据库中,可以被客户应用程序调用,也可以从另一个过程或触发器调用[5]。它的参数可以被传递和返回,与应用程序中的函数过程类似,存储过程可以通过名字来调用,而且它们同样有输入参数和输出参数。使用存储过程可以避免对命令的多次编译,在编译一次后其执行代码就驻留在高速缓存中,以后需要时只需直接调用缓存中的二进制代码。另外,存储过程在服务器端运行,独立于ASP.NET程序。 copyright paper51.com
根据存储过程的用途不同,我们可以把存储过程分为三类[7、]:1)系统存储过程。系统会自动创建存储过程,这些存储过程在MASTER数据库中,并以SP_为系统存储过程名前缀,系统存储过程主要从系统表中获取信息,为SQLSERVER2000系统管理员和开发人员提供支持,系统存储过程可在其他数据库中调用。2)用户定义存储过程。为完成某一特定功能而编写的存储过程。.3)扩展存储过程。是对动态链接库(DLL)函数的调用,它是用户能够在动态链接库文件所包含的函数中实现逻辑,从而扩展了Transact-SQL的功能。 http://www.paper51.com 根据返回值类型的不同,我们可以将存储过程分为三类[10]:返回记录集的存储过程,返回数值的存储过程以及行为存储过程.返回记录集的存储过程的执行结果是一个记录集,典型的例子是从数据库中检索出符合某一个或几个条件的记录;返回数值的存储过程执行完以后返回一个值,例如在数据库中执行一个有返回值的函数或命令;最后,行为存储过程仅仅是用来实现数据库的某个功能,而没有返回值,例如在数据库中的更新和删除操作。 http://www.paper51.com 完整存储过程创建的语法规则如下: paper51.com
CREATE PROC [ EDURE ] procedure_name [ ;number ] 内容来自www.paper51.com [ { @parameter data_type } 内容来自www.paper51.com [ VARCHAR ] [ =default ] [ OUTPUT ] 内容来自www.paper51.com ] [ ,…n ] http://www.paper51.com
[ WITH paper51.com { Pecompile | ENCRYPTION | RECOMPILE ,ENCRYPTION } ] copyright paper51.com [ FOR REPLICATION ] paper51.com As sql_statement [ …n ] http://www.paper51.com
|