【数据库】存储过程理论知识

基本认识

在编写数据库应用程序时,SQL是应用程序和数据库之间的主要编程接口。使用SQL编写访问数据库的代码时,可用两种方法存储和执行这些代码,一种是在客户端存储代码,并创建向数据库服务器发送的SQL语句;另一种是将SQL语句存储在数据库服务器端(实际是存储在具体的数据库中,作为数据库中的一个对象),然后由应用程序调用执行这些SQL语句。这些存储在数据库服务器端供客户端调用执行的SQL语句就是存储过程,客户端应用程序可以直接调用并执行存储过程,存储过程的执行结果可返回给客户端。

加深理解

数据库中的存储过程与一般程序设计语言中的过程或函数类似,存储过程也可以做到以下几点:

  1. 接受输入参数并以输出参数的形式将多个值返回给调用者。
  2. 包含执行数据库操作的语句。
  3. 将查询语句执行结果返回到客户端内存中。

存储过程的优点(相对程序中的SQL语句)

1.允许模块化程序设计
只需创建一次存储过程并将其存储在数据库中,以后就可以在应用程序中任意调用该存储过程。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序代码而单独修改。

2.改善性能
如果某操作需要大量的SQL语句或需要重复执行,则用存储过程比每次直接执行SQL语句的速度要快。因为数据库管理系统是在创建存储过程时对SQL代码进行分析和优化,并在第一次执行时进行语法检查和编译,将编译好的可执行代码存储在内存的一个专门缓冲区中,以后再执行此存储过程时,只需直接执行内存中的可执行代码即可。

3.减少网络流量
一个需要数百行SQL代码完成的操作现在只需要一条执行存储过程的代码即可实现,因此,不再需要在网络中传送大量的代码。

4.可作为安全机制使用
对于即使没有直接执行存储过程中的语句权限的用户,也可以授予他们执行该存储过程的权限。

小结

存储过程实际是存储在数据库服务器上的、由SQL语句和流程控制语句组成的预编译集合,它以一个名字存储并作为一个单元处理,可由应用程序调用执行,允许包含控制流、逻辑以及对数据的查询等操作。存储过程可以接受输入参数,并可具有输出参数,还可以返回单个或多个结果集。

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值