zoukankan      html  css  js  c++  java
  • Oracle数据库视图的创建以及使用

     创建视图语句:

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

    CREATE OR REPLACE VIEW new_V_a(视图名) AS
    SELECT  *
    FROM T_a(表名) 

    CREATE OR REPLACE VIEW new_V_a(视图名) AS
    SELECT  * FROM T_a(表名)
    UNION ALL
    SELECT  * FROM T_a

    视图的优点:

    1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。

    2.用户通过简单的查询可以从复杂查询中得到结果。

    3.维护数据的独立性,试图可从多个表检索数据。

    4.对于相同的数据可产生不同的视图。

    视图分为简单视图和复杂视图:

    1、简单视图只从单表里获取数据,复杂视图从多表;

    2、简单视图不包含函数和数据组,复杂视图包含;

    3、简单视图可以实现DML操作,复杂视图不可以。

    语法解析:

    OR REPLACE    :若所创建的试图已经存在,则替换旧视图;

    FORCE:不管基表是否存在ORACLE都会自动创建该视图(即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用);

    NOFORCE  :如果基表不存在,无法创建视图,该项是默认选项(只有基表都存在ORACLE才会创建该视图)。

    alias:为视图产生的列定义的别名;

    subquery  :一条完整的SELECT语句,可以在该语句中定义别名;

    WITH CHECK OPTION  :插入或修改的数据行必须满足视图定义的约束;

    WITH READ ONLY       :默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。

  • 相关阅读:
    传输层——UDP报文头介绍
    传输层——TCP报文头介绍
    网络层——IP报文头介绍
    数据链路层——以太网包头介绍
    POJ2752 (Seek the Name, Seek the Fame,kmp)
    POJ2406 Power Strings
    HNOI2008 玩具装箱toy (BZOJ1010,斜率dp)
    Covered Walkway(HDU4258,dp斜率优化)
    HDU3507 Print Article
    POJ1821 Fence
  • 原文地址:https://www.cnblogs.com/xescbky/p/11121717.html
Copyright © 2011-2022 走看看