我想使用刷新的物化视图ON COMMIT
。我的后备视图通过 DB Link 连接本地数据库中的两个表和远程数据库中的一个表。仅当对两个本地表之一进行更改时,如何才能刷新视图?
有没有其他方法可以解决这个问题?我可以让物化视图加入两个本地表并为远程数据库中的列设置 NULLS,然后在插入/更新到将填充这些字段的物化视图时触发触发器?还是对物化视图的更新会传播回源表?
我正在做这样的事情:
SELECT LOC1.ID, LOC1.NAME, LOC2.PRICING_TYPE, REM1.PURCHASING_ID
FROM LOCAL_TABLE_A LOC1, LOCAL_TABLE_B LOC2, REMOTE_TABLE@SOMEDB.WORLD REM1
WHERE LOC1.ID = LOC2.MASTER_ID
AND LOC1.REM_ID = REM1.ID
AND LOC2.YEAR = REM1.YEAR
这REMOTE_TABLE
只是与两个本地表相关的信息的查找表。它不应该在这里驱动任何东西,我只希望物化视图在LOCAL_TABLE_A
OR LOCAL_TABLE_B
CHANGE 时更新。