编辑: 无理的喜欢 | 2019-07-18 |
本章就来介绍数据库的存储过 程,主要内容包括创建、调用、查看、修改、删除存储过程等. 重点导读 ・了解什么是存储过程. ・掌握创建存储过程的方法. ・掌握调用存储过程的方法. ・掌握查看存储过程的方法. ・掌握修改存储过程的方法. ・掌握删除存储过程的方法. 13.1 存储过程概述 存储过程可以重复调用,当存储过程执行一次后,可以将语句缓存,这样下次执行的时候直接使用缓 存中的语句,就可以提高存储过程的性能. 13.1.1 什么是存储过程 存储过程是一组为了完成特定功能的 SQL 语句的集合,经编译后存储在数据库中,用户通过指定存储 过程的名称并给出参数来执行.存储过程中可以包含逻辑控制语句和数据操作语句,它可以接受参数、输 出参数、返回单个或多个结果集以及返回值. 由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行比单个 SQL Server 从入门到项目实践(超值版)
194 的SQL 语句块要快.同时由于在调用时只需要提供存储过程名和必要的参数信息,所以在一定程度上也可 以减少网络流量、减轻网络负担. 13.1.2 存储过程的优点 相对于直接使用 SQL 语句,在应用程序中直接调用存储过程具有以下好处. 1.存储过程允许标准组件式编程 存储过程创建后可以在程序中被多次调用执行,而不必重新编写该存储过程的 SQL 语句.而且数据库 专业人员可以随时对存储过程进行修改,但对应用程序源代码却毫无影响,从而极大地提高了程序的可移 植性. 2.存储过程能够实现较快的执行速度 如果操作包含大量的 SQL 语句代码,分别被多次执行,那么存储过程要比批处理的执行速度快得多. 因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析、优化,并给出最终被 存在系统表中的存储计划.而批处理的 SQL 语句每次运行都需要预编译和优化,所以速度就要慢一些. 3.存储过程减轻网络流量 对于同一个针对数据库对象的操作,如果这一操作所涉及的 SQL 语句被组织成一存储过程,那么当在 客户机上调用该存储过程时,网络中传递的只是该调用语句,否则将会是多条 SQL 语句,从而减轻了网络 流量,降低了网络负载. 4.存储过程可被作为一种安全机制来充分利用 系统管理员可以对执行的某一个存储过程进行权限限制,从而能够实现对某些数据访问的限制,避免 非授权用户对数据的访问,保证数据的安全. 13.1.3 存储过程的缺点 任何一个事物都不是完美的,存储过程也不例外,除一些优点外,存储过程还具有如下缺点. ? 数据库移植不方便,存储过程依赖于数据库管理系统,SQL Server 存储过程中封装的操作代码不能 直接移植到其他的数据库管理系统中. ? 不支持面向对象的设计,无法采用面向对象的方式将逻辑业务进行封装,甚至形成通用的可支持服 务的业务逻辑框架. ? 代码可读性差、不易维护. ? 不支持集群. 13.2 存储过程的类型 在SQL Server 中,存储过程主要分为自定义存储过程、扩展存储过程和系统存储过程,在存储过程中 可以声明变量、执行条件判断语句等其他编程功能. 第13 章 存储过程的应用