Oracle Database マテリアライズドビューを即時更新する

Oracle Database マテリアライズドビューを即時更新する

Oracle Databaseで、マテリアライズドビューを即時更新する手順を記述してます。「CREATE MATERIALIZED VIEW」でマテリアライズドビューを作成時に「REFRESH FAST ON COMMIT」を指定します。

環境

  • OS windows11 home
  • Oracle Database 21c Express Edition
  • SQL Developer 21.2.1.204

手順

マテリアライズドビューを即時更新するには、
1. 「CREATE MATERIALIZED VIEW LOG ON」で対象のテーブルに、マテリアライズドビューログを作成2. 「CREATE MATERIALIZED VIEW」に「REFRESH FAST ON COMMIT」を指定
で可能です。

CREATE MATERIALIZED VIEW LOG ON 対象テーブル;

を実行後に

CREATE MATERIALIZED VIEW マテリアライズドビュー名 
REFRESH FAST ON COMMIT
AS SELECT文;

実際に、「FOO」というテーブルを対象にして「TESTMF」というマテリアライズドビューを作成してみます。

CREATE MATERIALIZED VIEW LOG ON FOO;

CREATE MATERIALIZED VIEW TESTMF
REFRESH FAST ON COMMIT
AS SELECT * FROM FOO;

実行結果を見ると作成されていることが確認できます。

これで、テーブル「FOO」を更新するとすぐに反映されるようになります。