Oracle之视图的使用方法

视图:是基于Oracle语句查询出来的结果集的可视化的表,视图就像跟表一样都包含有行和列,犹如一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段,俗称虚表;视图建立在已有表的基础上, 视图赖以建立的这些表称为基表,因此想要创建视图,首先必须有一个真实存在的表,作为数据来源;视图向用户提供基表数据的另一种表现形式;
优点:

  1. 控制数据访问
  2. 简化查询
  3. 避免重复访问相同的数据
  4. 数据的独立性
  5. 单独删除数据,不会把基表数据删除
    创建视图举例:
    在这里插入图片描述
    语法:关键字 视图名称 as
    Select 列名,列名,列名,列名,列名,
    From 表名
    Where 条件;
    查询创建视图的数据:
    Oracle之视图的使用方法_第1张图片
    注意:每当用户查询视图时,视图总是显示最新的数据!
    创建视图时在子查询中给列定义 别名:
    在这里插入图片描述
    结果如下图:
    Oracle之视图的使用方法_第2张图片
    修改视图:使用关键字 CREATE OR REPLACE VIEW 子句来修改视图;
    CREATE OR REPLACE VIEW view_name AS
    SELECT employee_id,last_name,salary
    FROM employ1
    WHERE department_id = 90
    把原有的数据替换成新的数据,注意过滤条件的使用;
    删除视图:使用到的关键字是:DROP;
    DROP VIEW view_name;
    语法:关键字 view 视图名称;
    删除视图只是删除视图的定义的数据,并不会把基表的数据进行删除;
    视图中使用DML的规定:
  6. 当创建视图定义中包含以下元素时则不能使用删除(delete)
     组函数;
     GROUP BY 子句;
     distinct 关键字;
     rownum 伪列;
  7. 当创建视图定义中包含以下元素时则不能使用删除(update)
     组函数;
     GROUP BY 子句;
     distinct 关键字;
     rownum 伪列;
     列的定义为表达式;
  8. 当创建视图定义中包含以下元素时则不能使用删除(insert)
     组函数;
     GROUP BY 子句;
     DISTINCT 关键字;
     ROWNUM 伪列;
     列的定义为表达式;
     表中非空的列在视图定义中未包括;

你可能感兴趣的:(Oracle)