视图和表的区别

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

表是实实在在得保存数据的实体,写入的数据都保存在表中,而视图是不保存数据的,也没有数据。像上面的老兄说的一样视图就是一条语句,实际上视图从表中去数据。只是给我们的感觉好像直接从表中取得一样。

表可以建立各种触发器,可以建立索引,可以建立主健、约束等。但是视图不能建立这些对象(视图可以建立替代触发器)。

表和视图可以更新,但是视图的更新受到约束。

比如,group by和表连接生成的视图不能更新表是实实在在得保存数据的实体,写入的数据都保存在表中,而视图是不保存数据的,也没有数据。像上面的老兄说的一样视图就是一条语句,实际上视图从表中去数据。只是给我们的感觉好像直接从表中取得一样。

表可以建立各种触发器,可以建立索引,可以建立主健、约束等。但是视图不能建立这些对象(视图可以建立替代触发器)。

表和视图可以更新,但是视图的更新受到约束。

比如,group by和表连接生成的视图不能更新

对于INSERT DELETE UPDATE操作,视图要必须遵守规则

比如INSERT:

所有列必须包含在 INSERT 语句中,即使基表中的列可能为NULL 或在基表中定义了 DEFAULT 约

不能在 INSERT 语句的 VALUES 子句中指定 DEFAULT 关键字。

INSERT 语句提供的值必须符合在一个成员表的分区列上定义的 CHECK 约束逻辑。

如果一个成员表包含具有标识属性的列,则不能使用 INSERT 语句。

如果一个成员表包含 timestamp 列,则不能使用 INSERT 语句。

如果存在具有同一视图或任一成员表的自联接,则不能使用 IN SERT 语句

相关文档
最新文档