【SQL Sever】存储过程

来源:互联网 发布:mac怎么给ps安装字体 编辑:程序博客网 时间:2024/04/17 06:41

基本认识

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

加深理解

  数据库中的存储过程与一般程序设计语言中的过程或函数类似,存储过程也可以做到以下几点:
  1.接受输入参数并以输出参数的形式将多个值返回给调用者。
  2.包含执行数据库操作的语句。
  3.将查询语句执行结果返回到客户端内存中。

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

  1.允许模块化程序设计
  只需创建一次存储过程并将其存储在数据库中,以后就可以在应用程序中任意调用该存储过程。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序代码而单独修改。
  2.改善性能
  如果某操作需要大量的SQL语句或需要重复执行,则用存储过程比每次直接执行SQL语句的速度要快。因为数据库管理系统是在创建存储过程时对SQL代码进行分析和优化,并在第一次执行时进行语法检查和编译,将编译好的可执行代码存储在内存的一个专门缓冲区中,以后再执行此存储过程时,只需直接执行内存中的可执行代码即可。
  3.减少网络流量
  一个需要数百行SQL代码完成的操作现在只需要一条执行存储过程的代码即可实现,因此,不再需要在网络中传送大量的代码。
  4.可作为安全机制使用
  对于即使没有直接执行存储过程中的语句权限的用户,也可以授予他们执行该存储过程的权限。

小结

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

1 0
原创粉丝点击