所有的视图是否都可以更新?为什么?

  

  (1)若视图的字段是来自字段表达式或常数,则不允许对此视图执行INSERT、UPDATE操作,允许执行DELETE操作;
      (2)若视图的字段是来自库函数,则此视图不允许更新;
      (3)若视图的定义中有GROUP BY子句或聚集函数时,则此视图不允许更新;
      (4)若视图的定义中有DISTINCT任选项,则此视图不允许更新;
      (5)若视图的定义中有嵌套查询,并且嵌套查询的FROM子句中涉及的表也是导出该视图的基表,则此视图不允许更新;
      (6)若视图是由两个以上的基表导出的,此视图不允许更新;
      (7)一个不允许更新的视图上定义的视图也不允许更新;
      (8)由一个基表定义的视图,只含有基表的主键或候补键,并且视图中没有用表达式或函数定义的属性,才允许更新。

所有的视图是否都可以更新?为什么?

时间: 2024-07-28 21:36:12

所有的视图是否都可以更新?为什么?的相关文章

视图之二--视图中数据的更新

视图不是表,视图里面的数据是通过sql语句去表中查询得到的.当表中的数据发送更改之后,视图里的数据也会发生相应的更改.所以我么一般有两种方式更新视图里面的数据:一是更新表中的数据,从而间接地更新视图中的数据:二是直接写sql已经更新视图.第一种是方式是一定可以的,第二中方法,能否可行取决于视图的具体结构.以下对第二种方法进行分析. 表结构如下: 1 -- ---------------------------- 2 -- 学生表 3 -- ----------------------------

mssql sqlserver 表增加列后,视图不会自动更新相关列的两种解决方法分享

摘要: 今天对物理数据表,进行增加列操作后,程序一直显示无法找到相应列,通过仔细比对发现,视图中无相应列更新,下文将具体的解决方法分享如下: 例: create view vw_test as select * from tableName go ---当我们在表tableName中新增列之,再次查询vw_test ---依然未发现相应列的存在. ----解决方法1:删除原视图,重新创建视图 drop view vw_test go create view vw_test as select *

代码中,使用__DATE__宏,获取程序编译时间,如何保证每次编译代码(非重新生成方式),都能更新__DATE__的值?

解决:通过vs的预先生成命令中,添加批处理命令,删除对应的obj文件方式,强制每次编译都会重新编译对应的cpp文件,如下 del obj\debug\main.objdel obj\release\main.obj

下面是什么错误?咋回事呢,系统都没更新就不启动了。

=================================================================== [MIR3DA] at mir3da_core_init [MIR3DA] read ok [MIR3DA] Probe gsensor module: NSA_NTO at mir3da_chip_resume at mir3da_parse_chip_info input: mir3da as /devices/platform/imap-iic.1/i2c

数据库的基本常识

数据库第四版答案(王珊 萨师煊)           1 .试述数据.数据库.数据库系统.数据库管理系统的概念. 答: ( l )数据( Data ) :描述事物的符号记录称为数据.数据的种类有数字.文字.图形.图像.声音.正文等.数据与其语义是不可分的.解析在现代计算机系统中数据的概念是广义的.早期的计算机系统主要用于科学计算,处理的数据是整数.实数.浮点数等传统数学中的数据.现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂.数据与其语义是不可分的. 500 这个数字可以表

数据库原理相关知识

数据库原理相关知识 made by @杨领well([email protected]) 一.基础知识 1. 简述数据库系统的特点. 数据结构化 : 这是数据库系统与文件系统的本质区别. 数据的共享性高.冗余度低且易扩充 : 数据共享可以大大减少数据冗余, 节约存储空间.数据共享还能够避免数据之间的不相容性和不一致性. 数据的独立性高 : 数据独立性包括物理独立性和逻辑独立性. 数据由数据库管理系统统一管理和控制 : 数据的安全性保护(保护数据以防止不合法使用造成的数据泄密和破坏).数据的完整性

关系数据库标准语言SQL的基本问答

1 .试述 sQL 语言的特点. 答: (l)综合统一. sQL 语言集数据定义语言 DDL .数据操纵语言 DML .数据控制语言 DCL 的功能于一体. (2)高度非过程化.用 sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及 sQL 语句的操作过程由系统自动完成. (3)面向集合的操作方式. sQL 语言采用集合操作方式,不仅操作对象.查找结果可以是元组的集合,而且一次插入.删除.更新操作的对象也可以是元组的集合. (4)以同一种

数据库系统概论(第四版)习题解答

数据库系统概论(第四版) 第1章 绪论 1 .试述数据.数据库.数据库系统.数据库管理系统的概念. 答:( l )数据( Data ) :描述事物的符号记录称为数据.数据的种类有数字.文字.图形.图像.声音.正文等.数据与其语义是不可分的.解析在现代计算机系统中数据的概念是广义的.早期的计算机系统主要用于科学计算,处理的数据是整数.实数.浮点数等传统数学中的数据.现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂.数据与其语义是不可分的. 500 这个数字可以表示一件物品的价格

数据库之视图更新

视图定义---视图是从一个 或多个表(或视图) 导出的虚拟表 ,视图是数据库系统提供给用户以多种角度观察数据的重要机制 视图是一个虚表,不是实际存储的数据,更新视图是指更新视图的基本表,但不是所有的视图都能够进行更新,所以视图可以分为可更新视图和不可更新视图 可更新视图有三种: (1).同时满足以下条件 a. 创建时select中没有聚合函数,也没有top,groupby,union子句及Distinct关键字: b.创建视图的select 不包含从基本表中通过计算所得到的列: c. from子