Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle - Cara membuat tampilan terwujud dengan FAST REFRESH dan GABUNG

Untuk memulainya, dari Panduan Pergudangan Data Database Oracle:

Pembatasan Penyegaran Cepat pada Tampilan Terwujud dengan Hanya Bergabung

...

  • Baris semua tabel dalam daftar FROM harus muncul di SELECTlist kueri.

Ini berarti pernyataan Anda harus terlihat seperti ini:

CREATE MATERIALIZED VIEW MV_Test
  NOLOGGING
  CACHE
  BUILD IMMEDIATE 
  REFRESH FAST ON COMMIT 
  AS
    SELECT V.*, P.*, V.ROWID as V_ROWID, P.ROWID as P_ROWID 
    FROM TPM_PROJECTVERSION V,
         TPM_PROJECT P 
    WHERE P.PROJECTID = V.PROJECTID

Aspek kunci lain yang perlu diperhatikan adalah bahwa log tampilan Anda yang terwujud harus dibuat sebagai with rowid .

Di bawah ini adalah skenario pengujian fungsional:

CREATE TABLE foo(foo NUMBER, CONSTRAINT foo_pk PRIMARY KEY(foo));

CREATE MATERIALIZED VIEW LOG ON foo WITH ROWID;

CREATE TABLE bar(foo NUMBER, bar NUMBER, CONSTRAINT bar_pk PRIMARY KEY(foo, bar));

CREATE MATERIALIZED VIEW LOG ON bar WITH ROWID;

CREATE MATERIALIZED VIEW foo_bar
  NOLOGGING
  CACHE
  BUILD IMMEDIATE
  REFRESH FAST ON COMMIT  AS SELECT foo.foo, 
                                    bar.bar, 
                                    foo.ROWID AS foo_rowid, 
                                    bar.ROWID AS bar_rowid 
                               FROM foo, bar
                              WHERE foo.foo = bar.foo;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lewati Kontrol Ke Baris Tertentu Menggunakan Perintah Label Goto Di PLSQL

  2. Apa sebenarnya perbedaan antara indeks primer dan indeks sekunder?

  3. Cara Mengembalikan Jumlah Detik Lewat Tengah Malam di Oracle Database

  4. Status Risiko Analisis Tekanan Memori

  5. persyaratan opatch