1Z0-051-DDL-视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1Z0-051-DDL-视图相关的知识,希望对你有一定的参考价值。


视  图


视图只不过是select语句。

【注】:视图与表共享相同的名称空间:在可以使用表名的任何位置,使用视图名在语法上也是正确的。

 

1 使用视图的原因

1)用实施安全性的视图

SQL>create view scott.emp_fin as select

Hiredate,job_id,sal,comm,deptnofrom scott.emp;

 

SQL>select dname,sum(sal) from dept natural join emp_fin group by dname;

 

2)用来简化用户SQL的视图

SQL>create view dept_sal as

Selectd.dname,sum(e.sal) from dept d left outer join emp e on d.deptno=e.deptno

Group byd.dname

Order byd.dname;

 

SQL>select * from dept_sal;

 

3)用来防止错误的视图

SQL>create table emp(empno number constraint emp_empno_pk primary key,

Enamevarchar2(20), deptno number,active varchar2(1) default ‘Y‘);

 

SQL>create view current_staff as select * from emp where active=‘Y‘;

 

 

4)使数据易于理解的视图

视图除了可以通过易于理解的形式向用户提供数据之外,也提供用户看到的对象和存储在数据库中的对象之间的抽象层,对于维护相当有价值。视图是使应用程序能够在不同数据库之间移植的重要技术。

5)用来提升性能的视图

SQL>create view dept_emp as

Select/*+USE_HASH (emp dept) */ dname,ename

From deptnatural join emp;

 

 

2、创建、更改和删除视图

  • 简单视图从明细表中提取数据,不适用函数,不进行聚合

  • 复杂视图可以联接明细表、使用函数和进行聚合。

 

1)创建视图的语法:

CREATE   [OR REPLACE] [FORCE |NOFORCE] VIEW

[schema.]viewname[(alias [,alias]…)]

ASsubquery

[WITHCHECK OPTION [CONSTRAINT constraintname]]

[WITHREAD ONLY [CONSTRAINT constraintname]

 

  • OR REPLACE  如果视图存在,则在创建之前删除它

  • FORCE|NOFORCE  即使子查询中没有明显表,FORCE 关键字创建视图,明细表不存在,NOFORCE 则发生错误

  • WITH CHECK     OPTION   如果子查询包括where子句,那么这个选项会防止插入视图中不可见的行,或者防止导致行从视图中消失的更新。

  • WITH READ ONLY 防止任何DML通过视图。

  • CONSTRAINT constraintname

 

2)删除视图

DROP VIEW[schema.]viewname;

 

【案例】

SQL>conn peenboo

SQL>create view emp_anon_v as

Select  hiredate,job,sla,comm,deptno from emp;

SQL>create view dept_anon_v as

Selectdeptno,dname,location_id from dept;

 

将以上两个查询联接聚合成为复杂视图。

SQL>create view dept_sum_v as

Selecte.deptno,count(1) staff,sum(e.sal) salaries,d.dname from emp_anon_v e joindept_anon_v d

One.deptno = d.deptno

Group bye.deptno,d.dname;

 


本文出自 “奋斗不止” 博客,请务必保留此出处http://peenboo.blog.51cto.com/2865551/1793885

以上是关于1Z0-051-DDL-视图的主要内容,如果未能解决你的问题,请参考以下文章

1Z0-051-DDL-表的约束

1Z0-051-DDL-1表和临时表的创建和使用

1Z0-051-DDL-2简单索引的创建和删除

12c OCP考试专项 [1z0-071]-Q16: 对象权限的授权(2020.06.18)

051 题库

12c OCP考试专项 [1z0-071]-Q17: 对象权限的授权(2020.06.18)