+ -
当前位置:首页 → 问答吧 → 存储过程与视图【讨论】

存储过程与视图【讨论】

时间:2011-11-22

来源:互联网

SQL code

最近在做存储过程与视图这一方面的东西
现在我对存储过程的理解是一个函数,对数据库数据的数据进行查询获取你所想要的结果
视图 一张虚拟表  可以通过关联的各种表的数据 
表达能力有限 请理解
但是越做越觉得这两个很像  如果是不用传参的话 我发一个东西貌似用存储过程 或者视图都可以完成
希望大家说说关于你对于他们的理解



作者: SylarZhou   发布时间: 2011-11-22

SQL code
存储过程  当然是预先编译sql语句,  或让sql作某种特定程序,也可以提高效率
视图   让用户提取和他们有关的数据,  有提高安全保安及提升query效率的意味

最重要的是在服务器的存储和运行过程都几乎是一样的,二者都是以SQL语句集存储的,而且在运行之前都是经过编译的,也就是不用每次都重新编译,这样可以大大提高执行效率。

顾名思义,其区别一个重在“过程”、一个重在“图”。
也就是存储过程涉及很多的数据处理,整个是一个复杂的过程。它可以接收参数,相当于一个函数。主要目的是用来处理数据。

而视图是把现在有数据组合成新的形式展示出来,相当于一张虚拟的表,在运行时可以当作表Table来进行查询(关于增删改的请参照http://msdn.microsoft.com/zh-cn/office/ms180800.aspx)。总之视图的目的是用来呈现数据。

事实上,两者其内部实现是基本一样的,提供者在开发这些对象时,是针对不同目的不同应用的。
我们在使用时,同一件事情,实现的方法可以是多样的,不是说只有那者行,其他的就不行。到底使用什么来实现呢?这要对实际情况进行具体分析,看怎样实现方便,怎样实现高效。

作者: fredrickhu   发布时间: 2011-11-22

视图可以用select * from a inner join 视图 b on a.id=b.id
存储过程却只可以exec 存储过程

作者: pengxuan   发布时间: 2011-11-22

当你用到的时候,你突然发现自己理解了。

作者: ssp2009   发布时间: 2011-11-22

存储过程(feixianxxx)
http://topic.csdn.net/u/20091127/21/10a70c07-8683-4f9e-be7e-2415fa8f6956.html?seed=296887941&r=61490884#r_61490884

作者: dawugui   发布时间: 2011-11-22

浅谈视图(feixianxxx)
http://topic.csdn.net/u/20091111/14/ef883dff-b3e1-411b-b242-a43a21e84f24.html?16131

作者: dawugui   发布时间: 2011-11-22

视图是不是像 foxbase里的sort排序一样?
存储过程是不是像dos中的bat批处理?

作者: sisuhot   发布时间: 2011-11-22

这些我都知道啊,我只是想大家讨论下一些更深入的东西

作者: SylarZhou   发布时间: 2011-11-22