VIEW
对象 | 描述 |
---|---|
表 | 基本的数据存储集合,有行和列组成 |
视图 | 从表中抽出的逻辑上相关的数据集合 |
序列 | 提供有规律的数值 |
索引 | 提高查询的效率 |
同义词 | 给对象起的别名 |
- 视图是一种虚表(不存储数据,可将视图理解为存储起来的select语句)
- 视图建立在已有表的基础上,视图赖以建立的这些表称为基表
创建or修改
create or replace view 视图名 as … sql语句
create or replace view emp_vw as select emp_id,last_name,salary from employees
create or replace view emp_vw (id,name,salary) as select employee_id,first_name||last_name,salary from employees
视图中使用DML的规定
当视图定义时包含以下元素之一时不能执行
delete | update | insert |
---|---|---|
聚合函数 | 聚合函数 | 聚合函数 |
group by 子句 | group by 子句 | group by 子句 |
distinct 关键字 | distinct 关键字 | distinct 关键字 |
rownum 伪列 | rownum 伪列 | rownum 伪列 |
列的定义为表达式 | 列的定义为表达式 | |
插入数据违反基表约束 |
屏蔽对视图的DML操作
with read only 。任何 DML 操作都会返回一个Oracle server 错误
create or replace view emp_vw (id,name,salary) as select employee_id,first_name||last_name,salary from employees with read only
删除视图
drop view 视图名
drop view emp_vw