oracle,update视图中字段

现在有2张表 A表和B表,A表有DM和MC2个字段,B表有ID,LX等其他字段,现在LX字段中包含A表的DM和MC 2种类型,现在想要把B表中LX字段是MC的都改成DM,是DM的不动,现在可以区分出哪些数据是DM哪些是MC。2个表的主键分别是DM和ID
我建了一个视图,讲LX是MC的在视图中显示,但是执行update的时候报ora-01779错误,描述是‘无法修改与非键值保存表对应的列’

1、视图在什么情况下面可以更新呢。 这个对于单独一个表建立的视图是可以更新的。
2、楼主你建立的视图是A、B两个表交叉在一起建立的,所以没办法通过更新视图达到你想要的目的
3、想把B表中LX字段是MC的都改成DM直接写一条update一句就行了,DM和ID应该是关联的。
update B set LX = 'DM' where id in (select DM from A where 判断你的MC条件)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-09
不会,很少弄数据库
第2个回答  2011-09-08
视图反应的是查询的结果 不能update
相似回答