在Oracle中,我使用'union all'创建一个视图,如下所示
create view TESTVIEW as
select column1 from TABLE1
union all
select column1 from TABLE2;
如果我想插入此视图,我会得到
SQL错误:ORA-01732:此视图上的数据操作操作不合法
如果我知道我想在TABLE1中插入,有没有办法解决这个问题?
答案 0 :(得分:1)
是的,您应该能够在视图上创建 INSTEAD OF INSERT 触发器。
您需要编写触发器以在基表中插入行,并且它将运行"而不是"原始插入。
答案 1 :(得分:0)
请参阅http://docs.oracle.com/cd/E17952_01/refman-5.1-en/view-updatability.html以了解哪些视图可直接更新。对于不能直接更新的视图,请使用"而不是"按照上述帖子的建议触发。