存储过程是大型数据库(SQL Server,Oracle 等)的一个重要概念。存储过程(Stored Procedure)有时也称为存储查询(Stored Query),是存储在数据库中的一组预先定义的SQL语句集合,在存储过程中不仅可以包括标准的SQL 语句,如Select、Insert 等命令,还可以包含输入和输出参数,因此在一般意义上讲,存储过程相当于对一个数据库进行操作的子程序,如果灵活运用,则可以完成很多复杂的功能。
存储过程与动态SQL语句相比具有很多的优点,因此在实际操作大型数据库时,在ASP中应当尽量避免使用动态SQL语句,而使用存储过程来取而代之。
存储过程具有以下优点:
● 存储过程通常都经过数据库引擎预编译,与普通的SQL 语句相比,在执行速度上要快得多;
● 存储过程一般都经过数据库缓存,可以直接从内存中读取缓存中的数据库,大大减少了对磁盘的访问,从而提高了存储过程的执行效率;
● 存储过程允许被嵌套调用,这样就可以使用若干个小存储过程组合成复杂的存储过程,来完成更复杂的任务。也就是说,可以在不同的应用中使用同一个存储过程,从而提高编程效率;
● 开发人员可以设置表的修改属性,使只有预先存储过程才能对表进行修改,就可以避免直接使用SQL语句带来的潜在危险,从而提高数据的安全性;
● 如果直接调用SQL 语句,则每条SQL 语句都要经过服务器处理;而使用存储过程,则只要向服务器传输一条调用语句,从而可以减轻网络的通信流量;(www.xing528.com)
● 存储过程可以带有输入输出参数,可以利用它返回一个数据集合或其他类型的结果。
由于存储过程有这些优点,在下面的情况时,最好使用存储过程,这样可以提高ASP 的执行效率,又减轻了服务器的负载:
● 在应用中多次调用相同或相似的查询语句,而这些查询语句之间只存在输入参数的变化;
● 在应用中要对数据库进行多次操作,要用到多条SQL 语句,如先用Select 语句查询若干记录,再用Updete 更新这些记录,而且还要用Delete删除另一些记录;
本节介绍的ASP 程序调用存储过程的方法,是Web 数据库开发中的难点。这里不再以Access 等数据库为例,这里将以Windows2000 系统,Microsoft SQL Server 数据库为例,介绍存储过程的调用,其方法同样适用其他大型数据库,如Oracle等。
下面将分别介绍存储过程的创建、存储过程的调用以及存储过程的参数的自动创建等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。