视图的优点:
1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。
2.用户通过简单的查询可以从复杂查询中得到结果。
3.维护数据的独立性,试图可从多个表检索数据。
4.对于相同的数据可产生不同的视图。
视图分为简单视图和复杂视图:
1、简单视图只从单表里获取数据,复杂视图从多表;
2、简单视图不包含函数和数据组,复杂视图包含;
3、简单视图可以实现DML操作,复杂视图不可以。
创建视图
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY]
详细说明:
OR REPLACE:若所创建的试图已经存在,ORACLE自动重建该视图;FORCE:不管基表是否存在ORACLE都会自动创建该视图;NOFORCE:只有基表都存在ORACLE才会创建该视图:alias:为视图产生的列定义的别名;subquery:一条完整的SELECT语句,可以在该语句中定义别名;WITH CHECK OPTION:插入或修改的数据行必须满足视图定义的约束;WITH READ ONLY:该视图上不能进行任何DML操作。
--举例说明:CREATE OR REPLACE VIEW dept_sum_vw(name,minsal,maxsal,avgsal)AS SELECT d.dname,min(e.sal),max(e.sal),avg(e.sal)FROM emp e,dept dWHERE e.deptno=d.deptnoGROUP BY d.dname;