Oracle视图(view)建立使用

视图是一张虚拟表,其内容由查询定义,同真实的表同样,视图包含一系列带有名称的列和行数据。可是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,而且在引用视图时动态生成。(视图不是真实存在磁盘上的)sql

1、视图与表的区别数据库

一、表须要占用磁盘空间,视图不须要
二、视图不能添加索引(因此查询速度略微慢点)
三、使用视图能够简化,复杂查询
四、视图的使用利于提升安全性
好比:不一样用户查看不一样视图安全

建立,修改,删除视图的基本操做spa

2、建立视图blog

语法结构:索引

CREATE [OR REPLACE] [{FORCE|NOFORCE}] VIEW   视图名ci

AS开发

SELECT查询   (须要查询的结果)                                       table

[WITH READ ONLY CONSTRAINT] (设置是否能够对视图进行增删改查)class

 

语法解析:

1. OR REPLACE:若是视图已经存在,则替换旧视图。

2. FORCE:即便基表不存在,也能够建立该视图,可是该视图不能正常使用,当基表建立成功后,视图才能正常使用。

3. NOFORCE:若是基表不存在,没法建立视图,该项是默认选项。

4. WITH READ ONLY:默承认以经过视图对基表执行增删改操做,可是有不少在基表上的限制(好比:基表中某列不能为空,可是该列没有出如今视图中,则不能经过视图执行insert操做),WITH READ ONLY说明视图是只读视图,不能经过该视图进行增删改操做。现实开发中,基本上不经过视图对表中的数据进行增删改操做。

3、删除视图

一、drop view 视图名

4、案例分析

一、查询视图数据和查询基表的数据的sql同样