ORACLE 创建与使用视图
2016-08-05 13:34
344 查看
一.what(什么是视图?)
1.视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的结果。
2.根据创建视图时给定的条件,视图可以是一个数据表的一部分,也可以是多个基表的联合,它存储了要执行检索的查询语句的定义,以便在引用该视图时使用。
二.why(为什么要用视图?视图的优点)
1.简化数据操作:视图可以简化用户处理数据的方式。
2.着重于特定数据:不必要的数据或敏感数据可以不出现在视图中。
3.视图提供了一个简单而有效的安全机制,可以定制不同用户对数据的访问权限。
4.提供向后兼容性:视图使用户能够在表的架构更改时为表创建向后兼容接口。
5.自定义数据:视图允许用户以不同方式查看数据。
6.导出和导入数据:可使用视图将数据导出到其他应用程序。
三.how(视图的创建语法、删除、demo)
视图的删除:
DROP VIEW VIEW_NAME语句删除视图。
删除视图的定义不影响基表中的数据。
只有视图所有者和具备DROP VIEW权限的用户可以删除视图。
视图被删除后,基于被删除视图的其他视图或应用将无效。
四、视图分为简单视图和复杂视图。
简单视图只从单表里获取数据;复杂视图从多表里获取数据。
简单视图不包含函数和数据组;复杂视图包含函数和数据组。
简单视图可以实现DML操作;复杂视图不可以。
转:http://www.cnblogs.com/wean/archive/2012/05/15/2501995.html
1.视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的结果。
2.根据创建视图时给定的条件,视图可以是一个数据表的一部分,也可以是多个基表的联合,它存储了要执行检索的查询语句的定义,以便在引用该视图时使用。
二.why(为什么要用视图?视图的优点)
1.简化数据操作:视图可以简化用户处理数据的方式。
2.着重于特定数据:不必要的数据或敏感数据可以不出现在视图中。
3.视图提供了一个简单而有效的安全机制,可以定制不同用户对数据的访问权限。
4.提供向后兼容性:视图使用户能够在表的架构更改时为表创建向后兼容接口。
5.自定义数据:视图允许用户以不同方式查看数据。
6.导出和导入数据:可使用视图将数据导出到其他应用程序。
三.how(视图的创建语法、删除、demo)
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 d WHERE e.deptno=d.deptno GROUP BY d.dname;
--给用户授权创建视图 -- grant create all view to zdgshr; 所有数据库都能创建视图的用户 grant create view to zdgshr; --创建简单视图 create view temp as select * from zd_member_basic_info; --测试 select * from temp where rownum=1; --创建简单视图:只读 create or replace view temp1 as select id,job_number,name,dept_id from zd_member_basic_info with read only; --测试 insert into temp1(id,job_number,name,dept_id) values(1,0,'张三',1300);
视图的删除:
DROP VIEW VIEW_NAME语句删除视图。
删除视图的定义不影响基表中的数据。
只有视图所有者和具备DROP VIEW权限的用户可以删除视图。
视图被删除后,基于被删除视图的其他视图或应用将无效。
四、视图分为简单视图和复杂视图。
简单视图只从单表里获取数据;复杂视图从多表里获取数据。
简单视图不包含函数和数据组;复杂视图包含函数和数据组。
简单视图可以实现DML操作;复杂视图不可以。
create or replace view temp1 as select distinct name,job_number,dept_id from zd_member_basic_info with read only; delete from zd_member_basic_info where name='而过';
create or replace view temp as select * from zd_member_basic_info order by name;
转:http://www.cnblogs.com/wean/archive/2012/05/15/2501995.html
相关文章推荐
- Oracle中用户a,使用用户b中的表创建视图,报错!ORA-01031: insufficient privileges
- oracle创建和使用视图
- 使用scott登录Oracle以后,创建视图,提示“权限不够”,怎么解决?
- ORACLE 创建与使用视图
- 使用scott登录Oracle以后,创建视图,提示“权限不够”,怎么解决?
- 在Oracle中使用多表连接创建视图
- 使用scott登录Oracle以后,创建视图,提示“权限不够”,怎么解决?
- 问题:使用scott登录Oracle以后,创建视图,提示“权限不够”,怎么解决?
- Oracle 创建和使用视图
- ORACLE 创建与使用视图
- oracle中视图的创建和使用
- Oracle视图(View)创建使用
- chenw ORACLE 创建与使用视图
- ORACLE 创建与使用视图
- oracle创建与使用视图
- oracle如何创建dblink和视图
- YII控制器,模型,视图的创建与使用
- iOS编程(双语版) - 视图 - 手工代码(不使用向导)创建视图
- 关于Oracle中dbms_jobs的使用,异常:表或视图不存在
- SQL server视图的介绍,创建与使用