すべてのプロダクト
Search
ドキュメントセンター

PolarDB:DBMS_MVIEW

最終更新日:Jun 05, 2024

DBMS_MVIEW パッケージのストアドプロシージャを使用すると、具体化されたビューとその依存関係を管理および更新することができます。

PolarDBは、DBMS_MVIEWパッケージで次のストアドプロシージャをサポートします。
表1. DBMS_MVIEWパッケージに格納されたプロシージャ
ストアドプロシージャ戻り値の型説明
GET_MV_DEPENDENCIES(list VARCHAR2, deplist VARCHAR2);N/A指定されたビューの依存関係のリストを返します。
REFRESH(list VARCHAR2, method VARCHAR2, rollback seg VARCHAR2 , push deferred rpc BOOLEAN, refresh after errors BOOLEAN , purge option NUMBER, parallelism NUMBER, heap size NUMBER , atomic refresh BOOLEAN , nested BOOLEAN);N/Aコンマ (,) で区切られたビューのリストを更新します。
REFRESH(tab dbms_utility.uncl_array, method VARCHAR2, rollback_seg VARCHAR2, push_deferred_rpc BOOLEAN, refresh_after_errors BOOLEAN, purge_option NUMBER, parallelism NUMBER, heap_size NUMBER, atomic_refresh BOOLEAN, nested BOOLEAN);N/ADBMS_UTILITY.UNCL_ARRAYテーブルにリストされているすべてのビューを更新します。
REFRESH_ALL_MVIEWS (number_of_failures BINARY_INTEGER, method VARCHAR2, rollback_seg VARCHAR2, refresh_after_errors BOOLEAN, atomic_refresh BOOLEAN);N/Aすべての具体化されたビューを更新します。
REFRESH_DEPENDENT(number_of_failures BINARY_INTEGER, list VARCHAR2, method VARCHAR2, rollback_seg VARCHAR2, refresh_after_errors BOOLEAN, atomic_refresh BOOLEAN, nested BOOLEAN);N/Aコンマ区切りのリストに表示されているビューに依存するすべてのビューを更新します。
REFRESH_DEPENDENT(number_of_failures BINARY_INTEGER, tab dbms_utility.uncl_array, method VARCHAR2, rollback_seg VARCHAR2, refresh_after_errors BOOLEAN, atomic_refresh BOOLEAN, nested BOOLEAN);N/ADBMS_UTILITY.UNCL_ARRAYテーブルにリストされているビューに依存するすべてのビューを更新します。

GET_MV_DEPENDENCIES

マテリアライズドビューの名前が付けられたら、GET_MV_DEPENDENCIESストアドプロシージャを使用して、指定されたビューに依存するアイテムのリストを取得できます。 構文:
GET_MV_DEPENDENCIES (
  list IN VARCHAR2, 
  deplist OUT VARCHAR2); 
パラメータ
パラメーター説明
list具体化されたビューの名前、またはコンマ (,) で区切られた具体化されたビューの名前のリストを指定します。
deplistコンマ (,) で区切られたスキーマ修飾依存関係のリストを指定します。
DECLAREの例

  deplist VARCHAR2(1000);
開始
  DBMS_MVIEW.GET_MV_DEPENDENCIES('public.emp_view', deplist);
  DBMS_OUTPUT.PUT_LINE('deplist: '| | deplist);
END; 
この例では、public.emp_viewマテリアライズド・ビューの依存関係のリストが取得されます。

REFRESH

REFRESHストアドプロシージャを使用して、コンマ (,) で区切られたビューのリスト、またはDBMS_UTILITY.UNCL_ARRAYテーブルの指定されたすべてのビューを更新できます。
  • 次の構文を使用して、ビュー名のコンマ区切りリストを指定できます。
    
      list IN VARCHAR2, 
      method IN VARCHAR2 DEFAULT NULL, 
      rollback_seg IN VARCHAR2 DEFAULT NULL, 
      push_deferred_rpc IN BOOLEAN DEFAULT TRUE, 
      refresh_after_errors IN BOOLEAN DEFAULT FALSE, 
      purge_option IN NUMBER DEFAULT 1, 
      parallelism IN NUMBER DEFAULT 0, 
      heap_size IN NUMBER DEFAULT 0, 
      atomic_refresh IN BOOLEAN DEFAULT TRUE, 
      ネストされたIN BOOLEAN DEFAULT FALSE); 
  • 次の構文を使用して、DBMS_UTILITY.UNCL_ARRAYテーブルでビューを指定できます:
    REFRESH (
      tab IN OUT DBMS_UTILITY.UNCL_ARRAY, 
      method IN VARCHAR2 DEFAULT NULL, 
      rollback_seg IN VARCHAR2 DEFAULT NULL, 
      push_deferred_rpc IN BOOLEAN DEFAULT TRUE, 
      refresh_after_errors IN BOOLEAN DEFAULT FALSE, 
      purge_option IN NUMBER DEFAULT 1, 
      parallelism IN NUMBER DEFAULT 0, 
      heap_size IN NUMBER DEFAULT 0, 
      atomic_refresh IN BOOLEAN DEFAULT TRUE, 
      ネストされたIN BOOLEAN DEFAULT FALSE); 
Parameters
パラメーター説明
listマテリアライズドビューの名前またはマテリアライズドビュー名のリストをコンマ (,) で区切って指定します。
タブマテリアライズド・ビューの名前を指定します。
method指定したビューに適用する更新方法を指定します。 Cはサポートされている唯一のメソッドです。 このメソッドは、ビューの完全な更新を実行します。
rollback_segこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は NULL です。
push_deferred_rpcこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は TRUE です。
refresh_after_errorsこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は FALSE です。
purge_optionこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は 1 です。
parallelismこのパラメーターは互換性のために使用され、無視できます。 デフォルト値:0
heap_sizeこのパラメーターは互換性のために使用され、無視できます。 デフォルト値:0
atomic_refreshこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は TRUE です。
nestedこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は FALSE です。
EXEC DBMS_MVIEW.REFRESH(list => 'public.emp_view ', method => 'C');

REFRESH_ALL_M VIEWS

REFRESH_ALL_MVIEWSストアドプロシージャを使用して、ビューが依存するテーブルまたはビューの更新後に更新されない具体化ビューを更新できます。 構文:
REFRESH_ALL_MVIEWS ()
  number_of_failures OUT BINARY_INTEGER, 
  method IN VARCHAR2 DEFAULT NULL, 
  rollback_seg IN VARCHAR2 DEFAULT NULL, 
  refresh_after_errors IN BOOLEAN DEFAULT FALSE, 
  atomic_refresh IN BOOLEAN DEFAULT TRUE); 
パラメータ
パラメーター説明
number_of_failures更新操作で失敗した更新の数を指定します。
method指定したビューに適用する更新方法を指定します。 Cはサポートされている唯一のメソッドです。 このメソッドは、ビューの完全な更新を実行します。
rollback_segこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は NULL です。
refresh_after_errorsこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は FALSE です。
atomic_refreshこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は TRUE です。
DECLAREの例

  エラーINTEGER;
開始
  DBMS_MVIEW.REFRESH_ALL_MVIEWS (エラー、method => 'C');
END; 
更新が完了した後、errors変数は失敗した更新の数を含む。

REFRESH_DEPENDENT

REFRESH_DEPENDENTストアドプロシージャを使用して、すべてのマテリアライズドビューを更新できます。 コンマ (,) で区切ったビューのリストを指定するか、DBMS_UTILITY.UNCL_ARRAYテーブルでビュー名を指定できます。
  • 次の構文を使用して、ビュー名のコンマ区切りリストを指定できます。
    
      number_of_failures OUT BINARY_INTEGER,
      list IN VARCHAR2,
      method IN VARCHAR2 DEFAULT NULL,
      rollback_seg IN VARCHAR2 DEFAULT NULL
      refresh_after_errors IN BOOLEAN DEFAULT FALSE,
      atomic_refresh IN BOOLEAN DEFAULT TRUE,
      ネストされたIN BOOLEAN DEFAULT FALSE); 
  • 次の構文を使用して、DBMS_UTILITY.UNCL_ARRAYテーブルでビュー名を指定できます:
    REFRESH_DEPENDENT (
      number_of_failures OUT BINARY_INTEGER, 
      tab IN DBMS_UTILITY.UNCL_ARRAY, 
      method IN VARCHAR2 DEFAULT NULL, 
      rollback_seg IN VARCHAR2 DEFAULT NULL,
      refresh_after_errors IN BOOLEAN DEFAULT FALSE, 
      atomic_refresh IN BOOLEAN DEFAULT TRUE, 
      ネストされたIN BOOLEAN DEFAULT FALSE); 
Parameters
パラメーター説明
number_of_failures更新操作で失敗した更新の数を指定します。
listマテリアライズドビューの名前またはマテリアライズドビュー名のリストをコンマ (,) で区切って指定します。
タブマテリアライズド・ビューの名前を指定します。
method指定したビューに適用する更新方法を指定します。 Cはサポートされている唯一のメソッドです。 このメソッドは、ビューの完全な更新を実行します。
rollback_segこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は NULL です。
refresh_after_errorsこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は FALSE です。
atomic_refreshこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は TRUE です。
nestedこのパラメーターは互換性のために使用され、無視できます。 デフォルト値は FALSE です。
DECLAREの例

  エラーINTEGER;
開始
  DBMS_MVIEW.REFRESH_DEPENDENT(errors, list => 'public.emp_view ', method => 'C');
END; 
更新が完了した後、errors変数は失敗した更新の数を含む。