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

oracle 物理视图无法更新问题,求帮助CREATE MATERIALIZED VIEW RPT_10000_P_BAISE
创建物理视图语句

CREATE MATERIALIZED VIEW RPT_10000_P_BAISE
REFRESH FORCE ON COMMIT
AS
SELECT * FROM RPT_10000 R WHERE R.BDW='百色市'

创建日志
create materialized view log on rpt_10000 with primary key 
including new values

插入数据时报错,数据是从另外一个数据库获取的,这里执行的是一个存储过程

ORA-02050: 事务处理 3.23.43755 已回退, 某些远程数据库可能有问题
ORA-12048: 刷新实体化视图 "BILLDATA"."RPT_10000_P_BAISE" 时出错
ORA-02051: 同一事务处理中的另一会话或分支失败或已完成

以前创建视图的时候没有用on commit 插入是没有问题的,只是不能即时更新,加了之后。。。报错了,请各位大哥帮帮忙,看看什么地方出了问题,谢谢!

------解决方案--------------------
每当你查询一次远程数据库都会要你提交事务,但是那个事务是提交不成功的。所以你在视图里面加on commit肯定是会报错的。
------解决方案--------------------
能否把用来插入数据的存储过程贴出来看一下?