oracle视图

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

视图是oracle又一个数据对象,其主要作用是简化操作,提高安全,满足不同用户的查询需求,视图不是一个真正存在的物理表,它是根据别的表动态生成的。

 

 

 

 

 

 

 

 

 

 

 
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

创建视图的基本语法:

 

创建视图

create view 视图名 as  select 语句 [with read only]

 

创建或修改视图

create or replace view 视图名 as  select语句 [with read only]

 

删除视图

drop view 视图名

 

当表结构过于复杂,请使用视图吧!

 

快速入门:

我们来创建一个视图

案例:创建和emp表(empno,ename,job)完全一致的视图,看看带with read only和不带的区别。

 

如果创建视图的时候,不希望用户通过视图对源表进行其他操作,则建议开with read only

 

视图可以简化操作,比如:我们希望查询雇员的名字和部门编号和部门名称,

传统:查询两张表

视图简化:create or replace view myview as select emp.ename,dept.deptno,dept.dname from emp,dept where emp.deptno=dept.deptno with read only;

View created

 

视图与表的区别

①表需要占用磁盘空间,视图不需要

②视图不能添加索引

③使用视图可以简化复杂查询,比如:学生选课系统

④视图有利于提高安全性,比如:不同用户查看不同视图

posted @ 2019-07-01 17:41  樊伟胜  阅读(530)  评论(0编辑  收藏  举报