虚拟视图如何不存储在数据库中

时间:2015-06-25 17:59:40

标签: sql database oracle views

我们知道视图和物化视图之间的主要区别是 - 视图不存储在数据库中,物化视图物理存储在数据库中。 但它会在下面的例子中给出输出。

例如,我有基表emp有5个字段,我创建了基于此表的v_emp视图,只有3个必填字段。我在下面运行查询它给出了正确的输出

desc v_emp;

我的问题是:如果视图没有存储在数据库的任何地方,那么它就会从中获取数据。

注意:我正在使用Oracle数据库

2 个答案:

答案 0 :(得分:3)

AFAIK,view只是存储/保存的查询。因此,它不会存储任何数据,每次您在场景后面运行视图select * from v_emp时,它都会运行下划线select查询select fld1, fld2, fld3 from employee;

答案 1 :(得分:1)

视图存储在数据库中。视图有两个主要组成部分:

1)视图的定义......如同在select语句中(对于两种类型的视图)。

2)数据库中实际行的物理存储(仅限物化视图)。