一、视图概念
• 视图概念
• 视图是基于一个表或多个表或视图的逻辑表(虚表),本身不包含数据,通过它可以对表里面的数据进行查询。
• 基表
• 视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。
• 视图优点
• 简化性
• 安全性
二、视图分类
• 视图分为简单视图和复杂视图。两者区别如下:
• 简单视图只从单表获取数据,复杂视图从多表获取数据。
• 简单视图不包含函数和数据组,复杂视图包含。
• 简单视图可以实现DML操作,复杂视图不可以。
三、视图语法
• 创建视图的语法:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[,alias]...)]
AS subquery [WITH CHECK OPTION] [WITH READ ONLY]
• 参数解析:
• OR REPLACE:如果视图存在,新定义将替换视图。
• FORCE:基本不存在也将创建视图,NOFORCE相反。
• ALIAS:为视图产生的列定义别名,如不定义将采用基表中列名。
• SUBQUERY:一条查询语句。
• WITH CHECK OPTION:插入或者修改数据必须满足视图查询(SUBQUERY)WHERE子句的条件。
• WITH READ ONLY:不能对视图进行删改(DELETE/UPDATE)操作。
四、视图实例
create or replace view emp_view as select * from emp where empno<1003;