Oracle
 sql >> Base de données >  >> RDS >> Oracle

Actualisation rapide de la vue matérialisée avec la clause HAVING ?

Oui, la documentation ne semble pas exacte.

Comme solution de contournement, vous pouvez essayer d'implémenter des vues matérialisées imbriquées.

CREATE MATERIALIZED VIEW mv1 
REFRESH FAST ON COMMIT 
AS
SELECT col1,
       COUNT(col1) count_col1
FROM test_table
GROUP BY col1

ALTER MATERIALIZED VIEW mv1 ADD CONSTRAINT pk_mv1 PRIMARY KEY (col1)

CREATE MATERIALIZED VIEW LOG ON mv1 WITH PRIMARY KEY;

CREATE MATERIALIZED VIEW MV2 
REFRESH FAST ON COMMIT AS
SELECT col1,
       count_col1
FROM   mv1
WHERE  count_col1 > 1