二十八、oracle 视图

原创 2016年08月31日 11:49:12

一、介绍
视图是一张虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。(视图不是真实存在磁盘上的)

  

二、视图与表的区别
1、表需要占用磁盘空间,视图不需要
2、视图不能添加索引(所以查询速度略微慢点)
3、使用视图可以简化,复杂查询
4、视图的使用利于提高安全性
比如:不同用户查看不同视图

  

三、创建/修改视图
1、创建视图
create view 视图名 as select 语句 [with read only]
2、创建或修改视图
create or replace view 视图名 as select 语句 [with read only]
3、删除视图
drop view 视图名

4、查询所有视图

SELECT VIEW_NAME FROM USER_VIEWS

5、创建视图的视图

create or replace view 视图B as select from 视图A

注意:当表结构国语复杂,请使用视图吧!


创建视图避免用户修改数据,可以把视图设置成只读的属性read only 在创建视图语句后加上with read only即可。还可以通过check option创建约束。如果想要一个可以更新的视图,原表最好是单个表。如果视图中出现distinct,分组函数,rownumber等即视图不能更新。视图的修改没有修改选项,只会覆盖原有视图,因为视图没有数据,所以没有数据丢失的情况。给表增加约束和给视图增加约束是一样的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

历法 —— 十二地支与二十八星宿

十二地支来源于二十八星宿:
  • lanchunhui
  • lanchunhui
  • 2016年06月30日 15:44
  • 876

oracle视图的增删改

今天客户现场报了个数据库错误,ora01031 权限不足 既然人家oracle都说了权限不足,所以就从权限角度开始排产,结果怎么查权限设置也都没问题。 然后静下心来,透过现象看本质,问题能够定位,...
  • guihaijinfen
  • guihaijinfen
  • 2012年12月18日 14:44
  • 8462

Oracle视图的作用与安全性发的介绍

此文章主要讲述的是Oracle视图概念,以及Oracle视图的作用的介绍,还有视图的安全性与逻辑数据独立性的相关内容的描述。 AD: 以下的文章主要介绍的是Orac...
  • novelly
  • novelly
  • 2012年02月16日 16:40
  • 1239

oracle视图总结(创建、查询、修改、删除等)

视图定义: — —视图是一种虚表。 — —视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。 — —向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的...
  • yuzongtao
  • yuzongtao
  • 2014年10月30日 00:24
  • 3624

oracle 视图使用详解

视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。视图是存储在数据字典里的一条select语句。 通过创建视图可以提...
  • itxiaohei323
  • itxiaohei323
  • 2012年10月31日 16:46
  • 7862

oracle多表可更新视图的实现

多表视图的定义:当视图的数据源只有一张数据表,则该视图为单表视图;当视图的数据源是多张数据表,则该视图为多表视图。 可更新视图的...
  • lcj8
  • lcj8
  • 2008年05月15日 00:08
  • 3766

oracle创建可传参视图

测试表:create table AM_TEST ( id NUMBER(10) not null, name VARCHAR2(20), email VARCHAR2(20...
  • hy245120020
  • hy245120020
  • 2015年11月24日 11:03
  • 931

ORACLE 存储过程动态创建视图

create or replace procedure "CREAR_PF_VIEW" is    pragma AUTONOMOUS_TRANSACTION;    cursor cur is  -...
  • namespacefeng
  • namespacefeng
  • 2013年12月10日 17:01
  • 3382

Oracle数据库表信息,序列,视图等导出,导入。(数据库备份和恢复)

数据导出1、  打开PL/SQL,找到选择表、将用户相关的索引,序列、用户信息等导出来2、  找到Exporttable选择要导出的表的数据等,注意:导成dmp格式的数据文件数据导入1.以管理员方式登...
  • toto1297488504
  • toto1297488504
  • 2017年05月05日 15:19
  • 1236

Oracle 创建视图和删除视图

1.创建: create or REPLACE view p_rate AS select r.userid,r.rateset,p.usercode,p.username,p.alipayid ...
  • z991876960
  • z991876960
  • 2016年11月09日 15:28
  • 11629
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二十八、oracle 视图
举报原因:
原因补充:

(最多只允许输入30个字)