视图定义
视图:基于表或另一个视图的逻辑表。通过创建表的视图可以显示数据的逻辑子集或组合。(视图没有自己的数据,但它如同一个窗口,通过它可以查看或更改表中的数据。视图以select语句的形式存储在数据字典中。
视图的优点
1.由于视图能够选择性地显示表中的列,因而可以限制对数据的访问。
2.视图可以用来进行简单的查询,从而检索复杂查询的结果。例如,用户可以通过视图查询多个表中的信息,而无需了解如何编写联结语句。
3.视图可以为即席用户和应用程序提供数据独立性。可以用一个视图检索多个表中的数据。
4.视图支持用户组根据特定标准来访问数据。
使用视图访问数据时,Oracle服务器将执行下列操作:
1. 它从USER_VIEWS 数据字典表中检索视图定义
2. 它检查视图基表的访问权限
3. 它将视图查询转换成对基表的等同操作。也就是说,数据从基表中检索,或对基表进行更新
创建视图:该视图包含部门80中每位员工的员工编号、姓氏以及薪金
create view emovu80
as select employee_id,last_name,salary
from employees
where department_id=80;
显示视图结构:
desc empvu80
查询视图:
select * from empvu80;
删除视图:
drop view empvu80;
注:使用WITH CHECK OPTION子句可以确保在视图执行的DML操作发生在视图的范围内
通过在视图定义中添加WITH READ ONLY选项可以确保不能执行DML操作
任何对视图中的行执行DML的尝试都会导致Oracle服务器错误