美文网首页
视图在什么情况下不允许更新

视图在什么情况下不允许更新

作者: 简简天天 | 来源:发表于2020-04-25 22:09 被阅读0次

    视图中如果使用了avg、sum等函数时,即有对数据的二次加工性质的操作时,不允许更新;而简单的SQL形成的视图则没有限制 !

    如果视图涉及两个表来,意味着有两个表的连接操作,而在视图上执行的更新都是最终在基本表上的自更新,视图本身只是一个用来简化用户操作的逻辑概念,执行时都是将对视图的操作翻译成基本表的操作。对视图的更新无法翻译成对基本表知的操作时,就不允许更新了。
    除了两个基本表的视道图不允许更新外,聚合操作导出的视图也不允许更新。

    1.若视图是由两个以上基本表导出的,则此视图不允许更新
    2.若视图的字段来自字段表达式或常数,则不允许对此视图执行INSERT和UPDATE操作,但允许执行DELETE
    3.若视图字段来自聚集函数AVG、SUM等,则此视图不允许更新
    4.若视图定义中含有GROUP BY HAVING子句,则此视图不允许更新
    5.若视图中含有DISTINCT语句,则此视图不允许更新
    6.若视图定义中含有嵌套查询,并且内层查询的FROM子句涉及的表也是导出该视图的基本表,则此视图不允许更新
    7.一个不允许更新的视图上定义的视图也不允许更新

    相关文章

      网友评论

          本文标题:视图在什么情况下不允许更新

          本文链接:https://www.haomeiwen.com/subject/vaulwhtx.html