• SQL创建视图(View)盲点之无法同步更新


    一、前言

    会写这篇文章主要是给自己和大家提个醒。

    场景:我有两个视图,分别在不同的服务器,视图A和视图B,通过创建数据库链接实现在视图A获取视图B的内容,在视同A的语句中直接通过通配符“*”查询视图B的所有字段,如下:

    --视图A
    SELECT * FROM 视图B
    --视图B
    SELECT 字段A,字段B,..... FROM 表B

    上面这段语句看上去是没什么问题的,反正是查所有字段嘛,用*也说的过去

    不过问题就这么产生了,如果这个时候我更新了视图B,比如说加了几个字段或者修改几个字段的排列顺序,这个时候你再通过SELECT去查询视图A的时候会发现字段和值会有对不上的情况,甚至在B中新加的几个字段再A中都查不到

    这时候我就怀疑视图A并没有实时更新,于是我就把视图A删了重建,发现就可以了

    二、建议

    创建视图的时候尽量不要使用*,而是明确的指出要查询的字段,如:SELECT 字段A,字段B FROM 视图B,否则就会出现视图无法同步更新的问题

    以上纯属个人观点,欢迎讨论

  • 相关阅读:
    2.19
    2.16sqlite
    2.14Android6
    2.12Android5
    2.11Android4
    2.09Android3
    2.08Android2
    2.06Android学习
    dpdk bond
    ContainerCreating
  • 原文地址:https://www.cnblogs.com/wcrBlog/p/12425199.html
Copyright © 2020-2023  润新知