ORACLE 中视图更新可以更新基表中数据,视图更新应该满足啥条件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE 中视图更新可以更新基表中数据,视图更新应该满足啥条件?相关的知识,希望对你有一定的参考价值。
顾名思义,完整性约束当然为了保证数据的一致性和完整性啊;防止脏读取;理论上视图是防止随意篡改表数据和隐藏表的结构而存在的一个虚表,它可能是几张表的某些列够成,一般是不吸允去修改别的表的数据的,但也可以特殊情况是可以修改的;对于简单的视图,我们通过视图可以像对普通表那样进行select,insert,update,delete操作,
•视图包含下列结构是不可以更新的
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数据字典
•删除视图
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
创建的视图只能用于查询
你自己看看对你有用么 参考技术A 目的:在数据库短解决有可能产生的业务数据逻辑混乱
有些业务逻辑的检测可以放在数据库作
在c/s模式下
可以减少对客户端的要求.
优点:不会产生不可预知的业务数据逻辑混乱.比如说:由于客户端软件没有更新新的
而插入了或修改了不正确的数据
造成混乱(b/s模式无此问题)
试图更新是可以直接更新基表
但是不同的版本9i
10g
11g对此的要求都不同(应该是越来越宽松)
你要根据自己的情况好好查查
查教材或者
宝典Administrator's
Guide
以上是关于ORACLE 中视图更新可以更新基表中数据,视图更新应该满足啥条件?的主要内容,如果未能解决你的问题,请参考以下文章