视图与存储过程

在SQL学习中遇到了视图与存储过程两个概念,粗略来看,两者有着很大的相似性,都类似于等待调用的函数,但是仍有一些区别。

原理:

  1. 存储过程是程序化的sql可以实现一般sql不能实现的功能。
  • 如:先检索一个表得到一些数据,经过一定的编辑后更新到另外一个表中、这就可以用不带参数的存储过程实现
  1. 视图是虚拟表,不存储数据,存储的是sql,检索他的时候实际上是执行定义它的sql语句。

特性:

  • 在没有外部的程序的情况下,存储过程也是可以执行完成一些操作的。
  • 视图不占用实际的空间,是一个虚拟的中间过程。

优势:

  • 视图
    1. 将用户限定在表中的特定行上。
    2. 将用户限定在特定列上。
    3. 将多个表中的列联接起来,使它们看起来象一个表。
    4. 聚合信息而非提供详细信息。
  • 存储过程
    1. 可以在单个存储过程中执行一系列 SQL 语句。
    2. 可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。
    3. 存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。

Ref : https://www.cnblogs.com/Eleanore/archive/2012/06/11/2545384.html

你可能感兴趣的:(视图与存储过程)