日期:2014-05-17  浏览次数:21614 次

oracle多表VIEW
oracle多表VIEW 可不可以不用触发器直接修改,给个DEMO谢谢。
ORA-01779: 无法修改与非键值保存表对应的列

------解决方案--------------------
为啥要直接修改视图呢?数据入口不唯一的时候,会带来意想不到的麻烦
------解决方案--------------------
探讨

为啥要直接修改视图呢?数据入口不唯一的时候,会带来意想不到的麻烦

------解决方案--------------------
视图的值可以修改吗?我怎么记得视图的值是不可修改的??
------解决方案--------------------
视图为什么要修改呢?即使有些情况可以修改视图。
------解决方案--------------------
视图是可以更新的不过要满足一定的条件,有不少限制。
你搜索下 可更新视图。
------解决方案--------------------
一般来说,如果下列条件都满足,我们称视图可更新
1 from 语句中只有一个数据库关系
2 select 子句中只包含关系的属性名,不包含任何表达式,聚集或distinct声明
3 任何没有出现在select 子句中的属性可以取空值
4 查询中不含有group by 子句和having子句 
刚好在看书 看到了
------解决方案--------------------
Oracle中如果视图建立在多个表上,它的值除了使用触发器外,是不能直接更新的。