ORACLE 中视图更新可以更新基表中数据,视图更新应该满足什么条件?

ORACLE数据完整性约束的目的是什么?建立完整性约束有什么优点?ORACLE中视图更新可以更新基表中数据,视图更新应该满足什么条件?对于多个表构建的视图更新有什么方法?... ORACLE 数据完整性约束的目的是什么?建立完整性约束有什么优点?ORACLE 中视图更新可以更新基表中数据,视图更新应该满足什么条件?对于多个表构建的视图更新有什么方法?
谢谢请分开回答,救救你们1个专业的人吧
展开
 我来答
匿名用户
2013-05-16
展开全部
顾名思义,完整性约束当然为了保证数据的一致性和完整性啊;防止脏读取;理论上视图是防止随意篡改表数据和隐藏表的结构而存在的一个虚表,它可能是几张表的某些列够成,一般是不吸允去修改别的表的数据的,但也可以特殊情况是可以修改的;对于简单的视图,我们 通过视图可以像对普通表那样进行select,insert,update,delete操作, �6�1视图包含下列结构是不可以更新的 1:集合运算符 union,union all, intersect,minus 2:distinct关键字 3:group by,order by,connect by,或者start with 4:子查询 5:分组函数 6:需要更新的列不是视图定义的 7:具有连接查询(可以更新键值保存表的数据) 8:违反基表的约束条件 查询视图那些列可以更新可以通过user_updatable_columns数据字典 �6�1删除视图 drop view 视图名; 连接视图是指基于多表连接查询创建的视图(一般不容易修改,但通用instead of触发器可以实现修改的功能) create [or replace] [force]view 视图名 [(视图列名1,视图列名2…)] as select 语句 [with check option][constraint 约束名] [with read only] or replace 如果视图存在先删除后创建 force 如果基础表不存在强制创建视图 with check option 在使用视图时,检查涉及的数据能否通过select 语句约束 constraint 用于指定一个约束名 with read only 创建的视图只能用于查询 你自己看看对你有用么
wolihaito
2015-09-23 · TA获得超过552个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:91万
展开全部

应满足条件:

  1. 源表尽量使单表,否则限制会比较多。

  2. 下面的情况不应出现,否则不允许更新:

     1.distinct 关键字

     2.集合运算或分组函数。eg:intersect、sum、max、count ....

         3.出现group by 、order by、model、start with .....

         4.出现伪列关键字:eg:rownum.

3.还应考虑基表的一些约束,这些约束对视图数据的更新都有一定影响,如果需要创建可以更新的视图,可以使用instead of 触发器。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式