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";

    执行结果:

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

  • 相关阅读:
    JavaScript Date对象和函数 (一)
    Css3 文字渐变整理(一)
    Asp.net Core CacheHelper 通用缓存帮助类
    .net core中使用GB2312编码的问题
    苹果手机微信浏览器select标签选择完成之后页面不会自动回到原位
    .Net Core NOPI操作word(二) 表格操作
    .Net Core NOPI操作word(一)
    .NetCore中EFCore的使用整理(三)-关联表操作
    windos server2012安装.net core 2.2问题
    C# 最简单的使程序单进程运行的方法
  • 原文地址:https://www.cnblogs.com/celine/p/9894714.html
Copyright © 2011-2022 走看看