Plsql 插入视图

Plsql 插入视图,plsql,oracle11g,Plsql,Oracle11g,在Oracle中,我使用“union all”创建了一个视图,如下所示 create view TESTVIEW as select column1 from TABLE1 union all select column1 from TABLE2; 如果我想插入到这个视图中,我得到 SQL错误:ORA-01732:此视图上的数据操作不合法 如果我知道要在表1中插入,有没有办法解决这个问题?是的,您应该能够在视图上创建一个触发器,而不是insert触发器 您需要编写触发器以在基表中插入行,

在Oracle中,我使用“union all”创建了一个视图,如下所示

create view TESTVIEW as 
select column1 from TABLE1 
union all 
select column1 from TABLE2;
如果我想插入到这个视图中,我得到

SQL错误:ORA-01732:此视图上的数据操作不合法


如果我知道要在表1中插入,有没有办法解决这个问题?

是的,您应该能够在视图上创建一个触发器,而不是insert触发器


您需要编写触发器以在基表中插入行,并且它将“而不是”运行原始插入。

请参阅了解哪些视图是可直接更新的。对于不可直接更新的视图,请按照上述帖子中的建议使用“代替”触发器。

此视图不可更新,您必须直接插入到表1中