• oracle 视图的相关操作


    视图:---view

    视图操作:1.描述视图2.创建视图3.通过视图获得数据4.改变视图的定义5.通过视图操作数据6.删除视图

    什么是视图:

    为什么使用视图:原因

    1.限制对数据的访问2.很容易的写成复杂的查询3.允许数据的独立性4.不同的视图可获得相同的数据

     

    创建视图:

    创建视图的语句中可嵌入子查询.

     

    CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view

    [(alias[, alias]...)]

    AS subquery

    [WITH CHECK OPTION [CONSTRAINT constraint]]

    [WITH READ ONLY]

    1.子查询中可包括复杂的 SELECT 语法.

    2.子查询中不能包含ORDER BY 子句.

    创建视图:

    方法一:

    SQL> CREATE VIEW empvu10

    AS SELECT  empno, ename, job

    FROM  emp

    WHERE  deptno = 10;

    使用 SQL*Plus DESCRIBE 命令描述视图结构.

    SQL> DESCRIBE empvu10

    方法二:

    在子查询中使用列别名创建视图.

    SQL> CREATE VIEW salvu30

    AS SELECT empno EMPLOYEE_NUMBER, ename NAME,

    sal SALARY

    FROM  emp

    WHERE  deptno = 30;

    在查询视图时使用列别名.

    SQL> SELECT EMPLOYEE_NUMBER, NAME, SALARY

    FROM salvu30;

    查询USER_VIEWS数据字典视图

     

    修改视图:

    使用CREATE OR REPLACE VIEW 子句修改 视图 ,并为每列加别名.

    SQL> CREATE OR REPLACE VIEW empvu10

    (employee_number, employee_name, job_title)

    AS SELECT empno, ename, job

    FROM  emp

    WHERE  deptno = 10;

    在CREATE VIEW语句中列的别名的顺序是和子查询中一致的.

     

    创建复杂的视图

    复杂视图的特点:

    1.从多个表查询

    2.包含函数

    3.包含分组数据

     

     

    SQL> CREATE VIEW  dept_sum_vu

    (name, minsal, maxsal, avgsal)

    AS SELECT d.dname, MIN(e.sal), MAX(e.sal), AVG(e.sal)

    FROM  emp e, dept d

    WHERE  e.deptno = d.deptno

    GROUP BY d.dname;

     

    对视图进行DML操作的规则

    1.可对简单视图执行DML操作

    2.在下列情况下不能删除记录,

    ★视图包括组函数

    ★视图包括group by 子句

    ★视图包括distinct

    ★Rownum为列关键词

    3.在下列情况下不能修改记录

    ★前面所提到的情况

    ★列是由表达式定义的

    ★包括rownum虚列

    4.在下列情况下不能添加记录

    ★前面所提到的情况

    ★视图的基表有非空列,但在视图中没有此列

    使用 WITH CHECK OPTION 子句

    使用WITH CHECK OPTION可使DML操作限制在视图所包含的范围

    内.

     

     

    SQL> CREATE OR REPLACE VIEW empvu20

    AS SELECT  *

    FROM  emp

    WHERE deptno = 20

    WITH CHECK OPTION CONSTRAINT empvu20_ck;

     

    删除视图:

    删除视图并不删除基表中的数据

    DROP VIEW view;

    SQL> DROP VIEW empvu10;

    View dropped.

    视图可从其他的表或视图中获取数据.

    视图提供如下优点:

    ★限制数据的访问

    ★简化查询

    ★提供独立的数据

    ★允许多个视图使用相同的数据

    ★删除时不影响基表

     

    其他数据库对象

    • 描述其他的数据库对象和使用

    创建,修改,使用序列号

    创建和维护索引

    • 创建公共和私有的同义词

    数据库对象:table,view,sequence(生成主键值),Index(改进查询的性能),synonym(为对象建立一个同名对象)。

  • 相关阅读:
    「SDOI2014」向量集 解题报告
    HNOI 2014 世界树
    LOJ #2205. 「HNOI2014」画框 解题报告
    KM模板
    洛谷 [HNOI2014]道路堵塞 解题报告
    [AHOI2014/JSOI2014] 解题报告
    AndroidStudio中添加依赖的三种方式以及如何引入so文件和arr文件
    android 四大组件详解
    Android—— ListView 的简单用法及定制ListView界面
    Android Studio 使用VCS版本控制
  • 原文地址:https://www.cnblogs.com/Equinox-Flower1314/p/8689430.html
Copyright © 2020-2023  润新知