Oracle Database マテリアライズドビューを作成する

Oracle Database マテリアライズドビューを作成する

Oracle Databaseで、マテリアライズドビューを作成する手順を記述してます。マテリアライズドビューはビューとは違い、対象のテーブルが更新されても反映されません。

環境

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

手順

マテリアライズドビューを作成するには、「CREATE MATERIALIZED VIEW」を使用します。

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

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

CREATE MATERIALIZED VIEW MVTEST
AS SELECT * FROM FOO;

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

確認してみます。

SELECT * FROM MVTEST;

「FOO」テーブルがselectされていることが確認できます。

データを更新

「FOO」テーブルのID「5」の「name」を「null」から「goro」に更新してみます。

SELECT * FROM FOO;

実行結果

マテリアライズドビューの方を確認します。

SELECT * FROM MVTEST;

更新したデータが取得されていないことが確認できます。

更新を適応

更新を適応させるには「REFRESH」を使用します。

exec DBMS_MVIEW.REFRESH('MVTEST','c');

「REFRESH」を実行後は、反映されます。