oracle 第19章 视图
2015-10-24 11:23
507 查看
2015-10-24
目录
1.创建视图 CREATE VIEW
2.修改视图 ALTER VIEW
3.删除视图 DROP VIEW
4.创建物化视图 CREATE MATERIALIZED VIEW
6.修改物化视图 ALTER MATERIALIZED VIEW
5.删除物化视图 DROP MATERIALIZED VIEW
1.创建视图 CREATE VIEW
【语法】CREATE VIEW 官方文档
create_view::=
View Code
【例子】
参考资料
[1] 林树泽.Oracle 11g R2 DBA操作指南[M].北京:清华大学出版社,2013
[2] oracle视图总结(转)
[3] oracle中的视图详解
[4] Oracle 视图 的应用
[5] Oracle视图基础详解与实例
[6] ORACLE 创建与使用视图
[7] Oracle常用视图
[8] oracle视图索引操作
[9] 关于Oracle的视图
[10] Oracle中创建视图
[11] oracle 视图创建和操作,创建简单,复杂的视图,创建基表不存在的视图,视图增删改,查看视图的结构
[12] 管理Oracle视图和序列
[13] Oracle 视图可以DML操作的条件
[14] Oracle连接视图DML操作的限制
[15] 对视图进行 DML 操作
[16] Oracle之物化视图
[17] Oracle物化视图创建全过程(转)
[18] ORACLE物化视图
[19] ORACLE物化视图入门
[20] ORACLE物化视图
[21] ORACLE物化视图
[22] oracle物化视图
目录
1.创建视图 CREATE VIEW
2.修改视图 ALTER VIEW
3.删除视图 DROP VIEW
4.创建物化视图 CREATE MATERIALIZED VIEW
6.修改物化视图 ALTER MATERIALIZED VIEW
5.删除物化视图 DROP MATERIALIZED VIEW
1.创建视图 CREATE VIEW
【语法】CREATE VIEW 官方文档
create_view::=
DROP MATERIALIZED VIEW [ schema. ] materialized_view [ PRESERVE TABLE ] ;
View Code
【例子】
视图是通过select语句定义的基于物理表的虚表,它不存储数据,在数据字典中只记录视图的定义。 简单视图是从一个表读取数据,不包括函数和分组数据,可以进行DML操作。 复杂视图是从多个表提取数据,包括函数和分组数据,不一定能进行DML操作。 物化视图是具有物理存储的特殊视图。 #授予scott用户创建视图的权限 SQL> conn system/oracle as sysdba; SQL> grant create view to scott; #创建属于account部门的员工视图 SQL> create view accounting_view as select e.ename "employee_name",e.job "job",e.hiredate "hiredate",e.sal "salary",d.dname "dep_name" from dept d,epm e where e.deptno = d.deptno and d.deptno < 20; #查询数据字典中视图定义 SQL> select view_name from user_views; #查询视图accounting_view定义 SQL> select text from user_views where view_name = 'ACCOUNTING_VIEW'; #查询accounting部门所有员工信息 SQL> select * from accounting_view; #创建部门sales的员工视图 SQL> create or replace view sales_view ("employee_name","job","hiredate","salary","dep_name") as select e.ename,e.job,e.hiredate,e.sal,d.dname from dept d,emp e where e.deptno = d.deptno and d.deptno = 30 ; #查询是否成功创建sales_view视图 SQL> select view_name,text from user_views where view_name like 'SAL%'; #使用视图 SQL> select * from sales_view; #创建部门research的员工视图 SQL> create or replace view research_view ("employee_name","job","hiredate","salary","dep_name") as select e.ename,e.job,e.hiredate,e.sal,d.dname from dept d,emp e where e.deptno = d.deptno and d.deptno = 20 with read only; #测试update,否 SQL> update research_view set "salary" = 1000 where "job" = 'CLERK'; #测试delete,否 SQL> delete from research_view where "job" = 'CLERK'; #创建基于单表的视图 SQL> create view emp_view as select * from emp where job in ('SALESMAN','MANAGER'); #测试insert,否 SQL> insert into emp_view(empno,ename,job,mgr,hiredate,sal,comm,deptno) values (7565,'TOM','Marketing',79920,SYSDATE,2000,22.40); #测试insert,是 SQL> insert into emp_view(empno,ename,job,mgr,hiredate,sal.comm,deptno) values (7565,'TOM','MANAGER',72039,SYSDATE,2000,22,20); #确认插入结果 SQL> select * from emp_view enmae = 'TOM'; #查询表emp是否插入了一行数据 SQL> select * from emp where ename = 'TOM'; #查看视图research_view是否存在 SQL> select view_name from user_views; #查看视图结构 SQL> desc research_view; #修改视图 research_view SQL> create or replace view research_view ("员工号","员工姓名","岗位","雇佣时间","薪水","部门") as select e.empno,e.ename,e.job,e.hiredate,e.sal,d.dname from dept d, emp e where e.deptno = d.deptno and d.deptno = 20; #确认是否创建视图 SQL> desc research_view; #查询视图research_view SQL> select * from research_view where rownum<3; #查看重写查询是否开启 SQL> show parameter query_rewrite_enabled; #授予scott用户创建物化视图的权限 SQL>conn system/oracle as sysdba; SQL> grant create materialized view,query rewrite,create any table,select any table to scott; #针对基表创建物化视图日志 SQL> create materialized view log on dept; SQL> create materialized view log on emp; #创建物化视图 SQL> create materialized view mtrlview_test build immediate refresh fast on commit enable query rewrite as select d.dname,d.loc,e.ename,e.job,e.mgr,e.hiredate,e.sal from dept d,emp e where d.deptno = e.deptno; #参数说明 build immedate 立即创建物化视图 refresh fast on commit 快速刷新类型,基表数据提交后立即更新物化视图 enable query rewrite 开启重写查询功能 as子句 定义物化视图内容 #删除物化视图 SQL> drop materialized view mtrlview_test;
参考资料
[1] 林树泽.Oracle 11g R2 DBA操作指南[M].北京:清华大学出版社,2013
[2] oracle视图总结(转)
[3] oracle中的视图详解
[4] Oracle 视图 的应用
[5] Oracle视图基础详解与实例
[6] ORACLE 创建与使用视图
[7] Oracle常用视图
[8] oracle视图索引操作
[9] 关于Oracle的视图
[10] Oracle中创建视图
[11] oracle 视图创建和操作,创建简单,复杂的视图,创建基表不存在的视图,视图增删改,查看视图的结构
[12] 管理Oracle视图和序列
[13] Oracle 视图可以DML操作的条件
[14] Oracle连接视图DML操作的限制
[15] 对视图进行 DML 操作
[16] Oracle之物化视图
[17] Oracle物化视图创建全过程(转)
[18] ORACLE物化视图
[19] ORACLE物化视图入门
[20] ORACLE物化视图
[21] ORACLE物化视图
[22] oracle物化视图
相关文章推荐
- Oracle DCD
- oracle 日期 毫秒转换日期
- oracle修改表结构
- Oracle数据库的基本概念(转)
- 【从翻译mos文章】rac数据库,HC_<SID>.dat其他文件Oracle_Home用例下。
- linux 卸载oracle 11.2.0.4
- Oracle Gateways透明网关访问SQL Server
- Oracle 数据集成的实际解决方案
- ogg实现oracle到sql server 2005的同步
- MSSQL复制功能实现与Oracle数据库同步
- SQLServer与Oracle的数据同步(触发器trigger)
- ORACLE和SQL SERVER的数据同步常用方法
- mybatis 批量插入oracle与mysql
- 常用oracle表空间查询语句
- Oracle安装后出现的问题
- oracle数据库的导入和导出
- ORACLE查看并修改最大连接数
- Oracle 11.2.0.4 动态监听不注册
- oracle 第18章 索引
- Oracle 11.2.0.4 RAC安装最新PSU补丁