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

解决方案 »

  1.   

    一般来说,如果下列条件都满足,我们称视图可更新
    1 from 语句中只有一个数据库关系
    2 select 子句中只包含关系的属性名,不包含任何表达式,聚集或distinct声明
    3 任何没有出现在select 子句中的属性可以取空值
    4 查询中不含有group by 子句和having子句 
    刚好在看书 看到了
      

  2.   


    你这个是简单的单表视图。我昨天看了,多表的,必须视图中的ROW和事实表中的ROW一一对应才能修改。
      

  3.   

     视图是用来限制窗口
    但是当一个数据源涉及到多个表的时候,就想用视图去统一改。
    用触发器是可以的,但是mysql触发器没有 INSTEAD OF 。。就悲剧了
      

  4.   

    Oracle中如果视图建立在多个表上,它的值除了使用触发器外,是不能直接更新的。