zoukankan      html  css  js  c++  java
  • 数据库中的视图

    视图的一些好处:

    1、视图能够简化用户的操作;
    2、视图使用户能以多钟角度看待同一数据;
    3、视图对重构数据库提供了一定程度的逻辑独立性;
    4、视图能够对机密数据提供安全保护;
    5、适当的利用视图可以更清晰的表达查询;

    总结:高效,美观,安全

    Oracle对象教程:视图(View)创建使用,视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT…FROM即可

    语法结构:创建视图

    CREATE [OR REPLACE] [{FORCE|NOFORCE}] VIEW view_name

    AS

    SELECT查询

    [WITH READ ONLY CONSTRAINT]

    语法解析:

    1. OR REPLACE:如果视图已经存在,则替换旧视图。

    2. FORCE:即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用。

    3. NOFORCE:如果基表不存在,无法创建视图,该项是默认选项。

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

    删除视图可以使用“DROP VIEW 视图名称”,删除视图不会影响基表的数据。

    执行视图:select *  from viewname;

    navicat下执行视图的范例:

    视图名称为:1027amkm

    sql脚本为:

    select A.KMID from KW_KM A LEFT JOIN KW_CC B on A.KM_CCID=B.CCID
    WHERE B.CC_KSSJ IN(
    SELECT CC_KSSJ from kw_cc WHERE CC_KSSJ between to_date('2018/10/27 00:00:00','yyyy-mm-dd hh24:mi:ss')
    and to_date('2018/10/27 12:00:00','yyyy-mm-dd hh24:mi:ss'))

    sql语句执行视图:SELECT * from "1027amkm";

    执行结果:

      

    视图名称为:iswj

    sql脚本为:

    SELECT
    count(*) total,a.KSKM_ISWJ,
    (
    CASE a.KSKM_ISWJ
    WHEN 1 THEN '违纪'
    ELSE '未违纪'
    END
    )是否违纪
    from QY_KD b
    LEFT JOIN KW_KSKM a on a.KSKM_KDID=b.KDID LEFT JOIN QY_XQ c on b.kd_xqid=c.xqid
    WHERE a.KSKM_KMID in(SELECT * from "1027amkm") GROUP BY a.KSKM_ISWJ

    sql语句执行视图:SELECT * from "iswj";

    执行结果:

     【注】视图可以单独使用,也可以向表一样关联使用

  • 相关阅读:
    CDH简易离线部署文档
    算法图解读书笔记
    html 知识整理
    Django admin 组件 原理分析与扩展使用 之 sites.py (一)
    阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略
    git 命令和使用场景总结
    由select引发的思考
    Python 实现单例模式的一些思考
    pep 8 规范的一些记录
    python 垃圾回收机制的思考
  • 原文地址:https://www.cnblogs.com/celine/p/9894714.html
Copyright © 2011-2022 走看看