Oracle视图可以进行DML操作的条件有哪些-创新互联

本篇文章给大家分享的是有关Oracle 视图可以进行DML操作的条件有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

在玉州等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站设计 网站设计制作定制网站设计,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,成都外贸网站制作,玉州网站建设费用合理。

条件一:在连接视图中不能有Order by、Group by、connetc by等语句排序语句。
条件二:基础表中所有的NOT NULL列都必须在这个视图中。
条件三:需要更新的列不是虚拟列。
条件四:不能够具有分组函数。

除了以上几个限制条件之外,若需要在视图上进行DML操作的话,则在建立视图的Select语句中,还不能够有集合运算符、子查询等等。以上这些是一些必须要满足的基本条件,缺一不可。否则的话,针对视图的DML操作,就会以失败告终。

但是,并不是说符合了上面这个几个条件后,视图就可以畅所无阻的进行数据更新了,其仍然必须符合一定的规则。这其中,最重要的就是键值保存表规则。

如果连接视图中的一个基础表的键在他的视图中仍然存在,并且在连接视图中仍然是主键,则这个基础表就为键值保存表。在连接视图上,对视图进行插入、删除、更新等操作时,一次只能够对视图中的一个键值保存表进行更新。

with check option对于违反视图选择范围的数据行被插入,将受WITH CHECK OPTION检查


视图上的DML 操作:
DML操作应遵循的原则:
1.简单视图可以执行DML操作;
2.在视图包含GROUP 函数,GROUP BY子句,DISTINCT关键字时不能删除数据行;
3.在视图不出现下列情况时可通过视图修改基表数据或插入数据:
a.视图中包含GROUP 函数,GROUP BY子句,DISTINCT关键字;
b.使用表达式定义的列;
c.ROWNUM伪列。
d.基表中未在视图中选择的其他列定义为非空且无默认值。
WITH CHECK OPTION 子句
通过视图执行的INSERTS和UPDATES操作不能创建该视图检索不到的数据行, 因为它会对插入或修改的数据行执行完整性约束和数据有效性检查。 (也就是说在执行INSERTS、UPDATES时,WHERE条件中除需要INSERT、UPDATE本身的限制条件之外,还需要加上视图创建时的WHERE条件。)


 

以上就是Oracle 视图可以进行DML操作的条件有哪些,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联-成都网站建设公司行业资讯频道。

网站题目:Oracle视图可以进行DML操作的条件有哪些-创新互联
文章路径:https://www.cdcxhl.com/article38/joipp.html

成都网站建设公司_创新互联,为您提供移动网站建设动态网站手机网站建设网站排名小程序开发标签优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设