zoukankan      html  css  js  c++  java
  • oracle视图

      视图与表不同,一个视图不分配任何存储空间,视图不真正地包含数据。由查询定义的视图相应于视图引用表中的数据。

    视图是由一个或多个表(或其他视图)中的数据的一种定制的表示,是用一个查询定义,所以可认为是一个存储的查询(stored query)或是一个虚表。

    引入视图有下列好处:
     通过限制对表的行预定义集合的存取,为表提供附加的安全性。
     隐藏数据复杂性。
     为用户简化命令。
     为基本表的数据提供另一种观点。
     可将应用隔离基本表定义的修改。
     用于不用视图无法表示的查询。
     可用于保存复杂查询。

    创建视图
    CREATE VIEW emp_view AS[as后面就跟我们的select查询语句]
    SELECT empno, ename, sal, loc
    FROM emp, dept
    WHERE emp.deptno = dept.deptno AND  dept.deptno = 10

    创建复杂视图

    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;

    创建视图:使用WITH CHECK OPTION选项
    CREATE OR REPLACE VIEW empvu20
        AS SELECT    *
        FROM            emp
        WHERE            deptno = 20
        WITH CHECK OPTION CONSTRAINT empvu20_ck;
    创建视图:使用WITH READ ONLY选项
    CREATE OR REPLACE VIEW empvu10 [更改视图: 使用CREATE OR REPLACE VIEW语句]
      2        (employee_number, employee_name, job_title)
      3  AS SELECT    empno, ename, job
      4  FROM                emp
      5  WHERE                deptno = 10
      6  WITH READ ONLY;



    查询视图:

    SELECT ename  FROM emp_view  WHERE empno = 9876

    以下sql同 上面创建视图和查询视图 功能相同。其实也就是我们查询数据库表的时候,它自动生成的一个视图emp-view

    SELECT ename  FROM emp, dept
    WHERE emp.deptno = dept.deptno  AND  dept.deptno = 10
    AND  emp.empno = 9876


    重定义视图

    CREATE OR REPLACE VIEW emp_view AS[as后面就跟我们的select查询语句]
    SELECT empno, ename, sal, loc
    FROM emp, dept
    WHERE emp.deptno = dept.deptno;

    删除视图

    DROP VIEW emp_view;


  • 相关阅读:
    C语言实现mq收发数据的函数
    4G通信模块在ARM平台下的应用
    4G 通信模块在ARM 平台下的应用
    修改web前端访问端口
    从零开始用 Flask 搭建一个网站(一)
    Python实现Windows定时关机
    前端和后端的数据交互(jquery ajax+python flask+mysql)
    python开源项目及示例代码
    Django读取Mysql数据并显示在前端
    C++关于string的一些用法
  • 原文地址:https://www.cnblogs.com/pacoson/p/3521489.html
Copyright © 2011-2022 走看看