Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

db2视图何时允许更新

Posted on 2009-06-30 19:14 Prayer 阅读(812) 评论(0)  编辑 收藏 引用 所属分类: DB2

若一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了码,我们称这里视图为行列子集视图

一般的,行列子集试图使可更新的。除此之外,还有些视图理论上可更新,有些理论上不可更新。

目前各个关系数据库一般都只允许对行列子集视图进行更新,对视图的更新还有进一步的规定。

例如DB2规定:

1)若视图是由两个以上的基本表导出的,则此视图不允许更新。

2)若视图的字段来自字段表达式或常数,则此视图不允许更新。

3)若视图的字段来自集函数,则此视图不允许更新。

4)视图定义中有Group By或Distinct字句,不允许更新。

5)若视图定义中有嵌套查询,并且内层查询的From字句中涉及的表也是导出该视图的基本表,此视图不允许更新。

6)一个不允许更新的视图上定义的视图也不允许更新。


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理