最近决定看一下Oracle的快速刷新特性,对一些物化视图进行加速。这是我在遵循 this 我在网上找到的不错的指南后得到的:
CREATE MATERIALIZED VIEW LOG ON SIGNOS.SA_SUB_BACIA_ESGOTAMENTO WITH ROWID INCLUDING NEW VALUES;
CREATE MATERIALIZED VIEW LOG ON SIGNOS.STATUS_GEOMETRIA WITH ROWID INCLUDING NEW VALUES;
CREATE MATERIALIZED VIEW SIGNOS.MV_SA_SUB_BACIA_ESGOTAMENT_LIM
REFRESH FAST ON DEMAND AS
SELECT
FC.ROWID AS FC_ROWID,
SG.ROWID AS SG_ROWID,
FC.ID,
FC.ID_GIS,
FC.NOME,
FC.SIGLA_ANTIGA,
FC.ACTUALIZADO_POR,
FC.DATA_INSERCAO,
FC.CODIGO_SIGAO,
FC.EXPORTADO,
FC.SIGLA,
FC.RE_HISTORICO_CARREGAMENTO_ID,
FC.AREA_CALCULADA,
FC.ULTIMA_ACTUALIZACAO,
FC.INSERIDO_POR,
FC.LIMITE
FROM
STATUS_GEOMETRIA SG,
SA_SUB_BACIA_ESGOTAMENTO FC
WHERE
SG.TABLE_ROWID (+) = FC.ROWID;
不幸的是,Oracle 在最后一个片段之后不断吐出这个错误:
ORA-12015: cannot create a fast refresh materialized view from a complex query
我的 IDE (DBeaver) 在
FROM
语句之后用红色突出显示第一个表定义 (STATUS_GEOMETRIA SG,
) 周围的行。
什么可能导致此错误?
TIA