视图
视图定义:
基于多表的预定义查询,这些表称为基表
可以通过视图对基表进行DML操作
在视图中检索信息与从基表中检索信息方法完全相同

注意:视图不存在数据,算是个虚表,视图只会访问基表的行

适用于:检查检索数据

优点:
限制用户只能通过视图检索数据,使用户看不到底层基表
将复杂查询编写为视图,降低sql的复杂性
限制用户只能访问基表的部分数据,实现安全性

创建视图
create [or replace] [force| noforcce] view 视图名【(别名,【别名】….)】
as
子查询(不能包含order by)
【with {check option | read only }【constraint 约束名】】

force:如果基表不存在,创建视图就会失败。但是可以使用force选项强制创建视图

noforcce:基表存在,才能创建视图

with check option :所插入的数据或者修改的数据行必须满足视图定义的约束条件,也就是说子查询的数据在插入视图中时,必须满足视图定义的约束条件
约束条件为子查询定义的where 条件
这里写图片描述
这里写图片描述

with read only :保证该视图不能进行任何的DML操作

replace:如果有视图存在,就替换

案列

这里写图片描述

这里写图片描述

注意:子查询可以多表连接,返回的结果作为视图的数据

视图的表结构
desc + 视图名
这里写图片描述

创建视图的语句
select view_name,text from user_views;
view_name:视图名
text :创建视图的语句
这里写图片描述

查看视图哪些列是可以进行DML操作
select column_name,updatable,insertable,deletable from user_updatable_columns
where table_name=upper(‘vstu’);
table_name:视图名称

这里写图片描述

posted on 2017-06-02 09:27  2637282556  阅读(183)  评论(0编辑  收藏  举报