1
resposta

Como usar join na materialized view

Na aula de Praticando visões materializadas o professor mostra um exemplo para criar a view materialized, mas na sua explicação sobre o conceito ele mostrou um exemplo com 3 tabelas, como fazer isso ?

1 resposta

Oi Letícia! Como vai?

Para utilizar JOINs na materialized view, basta construir a consulta com as tabelas desejadas e explicitar todas as tabelas no log de materialização da tabela base, repetindo o comando a cada tabela.

Por exemplo:

CREATE MATERIALIZED VIEW mv_tabelas_summary
BUILD IMMEDIATE
REFRESH FAST ON COMMIT
AS
SELECT
    t1.id,
    t1.nome,
    t1.data_criacao,
    t2.id,
    t2.descricao,
    t2.valor
FROM
    tabela1 t1
JOIN
    tabela2 t2 ON t1.id = t2.tabela1_id;

Criamos uma materialized view com base em uma consulta com JOIN. Já para o log:

CREATE MATERIALIZED VIEW LOG ON tabela1 
WITH ROWID, SEQUENCE (id, nome, data_criacao) 
INCLUDING NEW VALUES;

CREATE MATERIALIZED VIEW LOG ON tabela2 
WITH ROWID, SEQUENCE (id, tabela1_id, descricao, valor) 
INCLUDING NEW VALUES;

Cada tabela tem um comando específico.

Espero ter ajudado :) Abraço.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!