一、常见的数据库对象
二、为什么使用视图
1、控制数据访问
2、简化查询
3、数据独立性
4、避免重复访问相同的数据
三、简单视图和负责视图
四、创建视图
在CREATE VIEW语句中嵌入子查询
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY [CONSTRAINT constraint]];
子查询可以是复杂的 SELECT 语句
五、视图中使用DML的规定
可以在简单视图中执行 DML 操作
当视图定义中包含以下元素之一时不能使用delete:
- 组函数
- GROUP BY 子句
- DISTINCT 关键字
- ROWNUM 伪列
当视图定义中包含以下元素之一时不能使用update:
- 组函数
- GROUP BY子句
- DISTINCT 关键字
- ROWNUM 伪列
- 列的定义为表达式
当视图定义中包含以下元素之一时不能使用insert:
- 组函数
- GROUP BY 子句
- DISTINCT 关键字
- ROWNUM 伪列
- 列的定义为表达式
- 表中非空的列在视图定义中未包括
六、临时视图
临时视图可以是嵌套在 SQL语句中的子查询
在FROM 子句中的的子查询是临时视图
临时视图不是数据库对象