`
Supanccy2013
  • 浏览: 214553 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle 视图(view)

 
阅读更多
1,视图分为两种
  第一种:可更新的视图
  第二种:连接视图(由连接表的sql生成的视图)

2,视图的概念:
  视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据。视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表。视图来源于表,所有对视图数据的修改最终都会被反映到视图的基表中,这些修改必须服从基表的完整性约束,并同样会触发定义在基表上的触发器。(Oracle支持在视图上显式的定义触发器和定义一些逻辑约束)。
3,视图的存储
  与表不同,视图不会要求分配存储空间,视图中也不会包含实际的数据。视图只是定义了一个查询,视图中的数据是从基表中获取,这些数据在视图被引用时动态的生成。由于视图基于数据库中的其他对象,因此一个视图只需要占用数据字典中保存其定义的空间,而无需额外的存储空间。
4,视图的作用:
    通过视图可以设定允许用户访问的列和数据行,从而为表提供了额外的安全控制 
    视图中可以使用连接(join),用多个表中相关的列构成一个新的数据集。此视图就对用户隐
    藏了数据来源于多个表的事实。
    保存复杂查询
5,视图的工作机制:
   视图的定义就是其使用的查询语句,Oracle 将这个定义以文本形式存储在数据字典中。当用户在 SQL 语句中引用了视图时,Oracle 将进行以下工作:
    将引用了视图的语句与视图的定义语句整合为一个语句
在共享SQL 区解析整合后的语句
   执行此语句
   当现有的共享SQL 区中没有与整合后的语句一致时,Oracle 才会为此语句创建新的共享 SQL 区。因此,引用了视图的SQL 语句也能够利用已有的共享 SQL 区以达到节约内存和提高性能的目的。

   
6.可更新的连接视图

连接视图是指在一个视图的定义查询的from字句中引用了多个表或视图。而可更新的连接视图是指能够执行 UPDATE,INSERT,和 DELETE 操作的连接视图。为了保证视图是可更新的,其定义中不能包含以下语法结构:

集合操作符
DISTINCT 操作符
聚合函数或分析型函数
GROUP BY,ORDER BY,CONNECT BY,或 START WITH 字句
在 SELECT 之后的列表中使用集合表达式
在 SELECT 之后的列表中使用子查询
连接(join)(但是有例外情况)
对于不可更新的视图,可以利用 INSTEAD OF 触发器对其数据进行修改。


7,创建视图:
  create or replace view view_scott_dept as
  select * from dept;
  commit;

8, 向视图中插入数据(也就是向视图的基表中插入数据)
   insert into view_scott_dept values(3,'xxx','dddd');
   commit;

9,删除视图中的数据(月就是删除视图基表中的数据)
 
 delete from view_scott_dept where deptno = 3
分享到:
评论

相关推荐

    Oracle_View视图创建

    Oracle_View视图创建在oracle数据库中已建立两张表rt_issuesect和roadstate,表结构如下: 高架状态表结构rt_issuesect

    如何在Oracle或SQLServer中对视图(view)加密以保护视图中的SQL代码?

    因Oracle暂不支持对视图(View)的加密,在实际工作中有时需提供给第三方只读账户,为保护知识产权,可用文中所述方法防止第三方账户查看视图(View)中的SQL代码。

    Oracle创建视图(View)

    视图基于的表称为基表,Oracle的数据库对象分为五种:表,视图,序列,索引和同义词。 视图是存储在数据字典里的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合。 视图的优点: 1.对数据库的...

    Oracle 视图详解

    Oracle 视图详解,详细阐述了视图的信息,免费分享

    oracle 视图,函数,过程,触发器自动编译脚本

    日常管理维护一个oracle数据库服务器的时,经常会碰到修改view,table结构的情况,而且由于oracle view,函数,存储过程等对象的相互关联的关系,经常会由于一个view,table,fun,proc的修改而导致相关的对象失效。...

    oracle视图详解

    讲述oracle中视图的用法。视图定义、视图作用、视图语法、视图操作等等。

    oracle笔记视图

    oracle笔记视图,有视图的具体代码案例!视图的知识点笔记,视图的注意事项!

    oracle_11gR2_09 视图 VIEW 的介绍(

    oracle_11gR2_09 视图 VIEW 的介绍

    oracle系统视图作用大全

    描述了ORACLE数据库数据字典中各类视图的功能

    ORACLE_视图的_with_check_option.doc

    ORACLE 视图的 with check option

    Oracle的V$性能视图学习大全

    比较详细的介绍了Oracle的V$性能视图的使用方法及技巧。 摘要:高级DBA经常告诉刚刚入行的DBA,在Oracle 6年代,他们曾经将每一张V$视图烂熟于心。在Oracle 6中,仅仅只有23个V$视图,那时侯的DBA可以很轻松地使用...

    oracle视图和索引

    什么是视图【View】?  (1)视图是一种虚表  (2)视图建立在已有表的基础上, 视图赖以建立的这些表称为基表  (3)向视图提供数据内容的语句为 SELECT 语句,可以将视图理解为存储起来的 SELECT 语句  ...

    oracle 视图权限 oracle 创建视图权限不足

    解决方法: 以dba用户登录 [sql] 代码如下: sqlplus / as sysdba 赋予scott用户创建VIEW的权限 [sql] 代码如下: grant create view to scott 以scott用户登录oracle [sql] 代码如下: conn scott/tiger 创建视图成功 ...

    oracle materialized view

    物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照(声名:本人刚刚学习物化视图这篇文章来自网络感觉有借鉴...

    oracle基础教程

    1.3.4 视图(View) 18 1.3.5 索引(Index) 18 1.3.6 同义词(Synonym) 19 1.3.7 序列(Sequence) 19 1.3.8 数据库链(Database Link) 20 第2章 管理ORACLE数据库 21 2.1 基本概念 21 2.1.1 数据字典 21 2.1.2 ...

    Oracle中管理物化视图变得更加容易

    利用强制查询重写和新的强大的调整顾问程序—它们使您不再需要凭猜测进行工作 ,在 10g 中管理物化视图变得更加容易。文中介绍了物化视图的定义及其一些功能。

    Oracle创建带有参数的视图代码介绍

    在Oracle里,视图不像存储过程和函数一样,可以定义输入参数,但我们可以变个方式,使用程序包来实现 首先定义程序包: /* 按个人需要定义,我定义三个参数 ,因我项目程序需要,所以三个参数都是number ,当然可...

    Oracle10g_Views.pdf

    10g的经典视图。网上找到。 Oracle10g_Views.pdf

    SQL实验六 Oracle数据字典和ODBC

    了解Oracle数据字典 ODBC 数据字典(data dictionary)是存储在数据库中的所有对象信息的知识库。Oracle RDBMS使用数据字典获取对象信息和安全信息,而用户和... O——view with read only ………………………………

    青云oracle工具

    7.oracle 有个特点,就是如果表结构发生变化,就会有很多视图,存储过程,触发器等跟着失效,这时候要把这些无效的对象重新编译一下。但是这个动作会经常遗忘, 所以我这里加了一个检索并修正无效对象的功能; 8....

Global site tag (gtag.js) - Google Analytics