Oracle------第十二章Creating View

Oracle------第十二章Creating View

第十二章:视图

  1. 视图
    视图是一个或多个表的部分数据,它可以像表一样进行CRUD(Create、Retrieve、Update、Delete)操作,但没有具体的存储数据结构,它以一个select语句的形式存在数据库中。
    本质: 一条有名字的select语句
    表现: 一到多张表的部分内容
    作用:提高检索的效率
    表中有10000条数据 把经常用的10条数据查询出来放在视图中。

    从数据字典表中查询创建的视图:

     select view_name
     from user_views;
    

    切换用户:

     conn system/sysem
    

    授权(创建视图)给briup:

     grant create view to briup;
    
  2. 创建视图

     CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view[(alias[, alias]...)]
     AS subquery        
     [WITH CHECK OPTION  [CONSTRAINT constraint]]
     [WITH READ ONLY]
    

    注意:
    a) or replace: 如有相同名字的视图对象,替换。
    b) force: 如subquery中源表不存在,先创建视图对像,这时视图对象虽创建,但不能正常使用。
    默认值为noforce, 即源表不存在,不能正常创建视图。
    c) with check option: 表示可以进行插入、更新和删除操作,但应该满足WHERE子句的条件。
    d) 视图的查询可以使用复杂的SELECT语法,包括连接/分组查询和子查询
    e) 在没有WITH CHECK OPTION和WITH READ ONLY的情况下,查询中不能使用ORDER BY子句
    f) 如果没有为WITH CHECK OPTION约束命名,系统会自动为之命名,形式为SYS_Cn 例如: 创建一视图:

      create or replace view a
      as 
      select id
      from s_emp
      where id<9;
    

    g) with read only: 只允许进行select操作。
    注: 当对建立视图的那张真正的表进行修改(插入、更新和删除)后,通过视图查看到的数据是修改以后的数据。

  3. 视图的分类
    a)简单视图
    数据来源于一个表,
    不包含函数以及进行分组,
    可以进行DML操作;
    b) 复杂视图
    数据来源于多个表,
    包含函数以及进行分组,
    不可以进行DML操作;

  4. 修改视图
    修改视图的数据对表中的数据有影响

    创建视图的时候显式的加上(替换)
    or replace关键字

  5. 删除视图

     drop view view_name;
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值