sql >> Databáze >  >> RDS >> Oracle

Nelze použít sloupce filtru z protokolu materializovaného zobrazení v tabulce

Dokumentace zobrazuje "Omezení rychlého obnovení u materializovaných zobrazení s agregáty" :

Do protokolů musíte zahrnout všechny sloupce používané ve vašem MV, např.:

CREATE MATERIALIZED VIEW LOG ON MV_LLATTRDATA_PARTITIONED_TEST
WITH ROWID, SEQUENCE(ID, DEFID, ATTRID, VERNUM, DEFVERN) INCLUDING NEW VALUES;

CREATE MATERIALIZED VIEW LOG ON DTREECORE
WITH ROWID, SEQUENCE(DATAID) INCLUDING NEW VALUES;

Poté můžete vytvořit MV:

CREATE MATERIALIZED VIEW MV_LLATTRDATA_MAX_VERSIONS
    NOLOGGING
    BUILD IMMEDIATE 
    REFRESH FAST ON COMMIT
    ENABLE QUERY REWRITE
    AS 
        SELECT AD.DEFID, AD.ATTRID, MAX(AD.VERNUM) AS MAX_VERNUM, MIN(AD.DEFVERN) AS MAX_DEFVERN
        FROM   MV_LLATTRDATA_PARTITIONED_TEST AD, DTREECORE DT
        WHERE AD.ID = DT.DATAID
        GROUP BY AD.DEFID, AD.ATTRID;

Materialized view MV_LLATTRDATA_MAX_VERSIONS created.

Není to nejužitečnější chybová zpráva...




  1. Jak dynamicky generovat příkaz MYSQL UPDATE na základě definovaných proměnných z HTML FORM

  2. Spusťte MySQL na portu 3307 pomocí Docker Compose

  3. Hledání telefonních čísel v mysql

  4. Časová náročnost třídění databáze