DBMS_MVIEW パッケージのストアドプロシージャを使用すると、具体化されたビューとその依存関係を管理および更新することができます。 Oracle と互換性のある POLARDB は、次の DBMS_MVIEW ストアドプロシージャをサポートしています。
ストアドプロシージャ | 戻り値の型 | 説明 |
---|---|---|
GET_MV_DEPENDENCIES(list VARCHAR2, deplist VARCHAR2); | N/A | GET_MV_DEPENDENCIES ストアドプロシージャを使用して、指定したビューの依存関係のリストを取得します。 |
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 ストアドプロシージャのバリエーションを使用して、コンマ (,) で区切られたビューのリストを更新します。 |
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/A | REFRESH ストアドプロシージャのバリエーションを使用すると、dbms_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_ALL_MVIEWS ストアドプロシージャを使用すると、具体化されたすべてのビューを更新することができます。 |
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 ストアドプロシージャのバリエーションを使用すると、コンマ区切りリストにリストされているビューに依存するすべてのビューを更新することができます。 |
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/A | REFRESH_DEPENDENT ストアドプロシージャのバリエーションを使用すると、dbms_utility.uncl_array 値のテーブルにリストされているビューに依存するすべてのビューを更新することができます。 |
Oracle と互換性のある POLARDB の DBMS_MVIEW パッケージは、Oracle のバージョンと比較すると、部分的にのみ実装されています。 Oracle と互換性のある POLARDB は、前の表にリストされているストアドプロシージャのみをサポートしています。
GET_MV_DEPENDENCIES
具体化されたビューに名前が付けられると、GET_MV_DEPENDENCIES ストアドプロシージャを使用することによって、指定されたビューに依存するアイテムのリストを取得することができます。 次のコードは、GET_MV_DEPENDENCIES ストアドプロシージャの構文を示しています。
GET_MV_DEPENDENCIES(
list IN VARCHAR2,
deplist OUT VARCHAR2);
パラメーター
パラメーター | 説明 |
---|---|
list | 具体化されたビューの名前、またはコンマ (,) で区切られた具体化されたビューの名前のリストを指定します。 |
deplist | コンマ (,) で区切られたスキーマ修飾依存関係のリストを指定します。
注 deplist パラメーターのデータ型は VARCHAR2 です。
|
例
DECLARE
deplist VARCHAR2(1000);
BEGIN
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 値のテーブルで指定されたすべてのビューを更新することができます。 REFRESH ストアドプロシージャには、2 つ構文形式があります。 コンマ (,) で区切られたビューのリストを指定する場合、最初の構文形式を使用します。
REFRESH(
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,
nested IN BOOLEAN DEFAULT FALSE);
2 番目の構文 形式を使用すると、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,
nested IN BOOLEAN DEFAULT FALSE);
パラメーター
パラメーター | 説明 |
---|---|
list | リストパラメーターのデータ型は VARCHAR2 です。 このパラメーターは、具体化されたビューの名前、またはコンマ (,) で区切られた具体化されたビューの名前のリストを指定します。 名前はスキーマで修飾する必要があります。 |
tab | このパラメーターは、DBMS_UTILITY.UNCL_ARRAY 値のテーブルで具体化されたビューの名前を指定します。 |
method | method パラメーターのデータ型は VARCHAR2 です。 このパラメーターは、指定されたビューに適用される更新の方法を指定します。 C はサポートされている唯一の method で、ビューの完全な更新を実行するために使用されます。 |
rollback_seg | rollback_seg は互換性のために使用され、無視することができます。 デフォルト値は NULL です。 |
push_deferred rpc | push_deferred_rpc は互換性のために使用され、無視することができます。 デフォルト値は TRUE です。 |
refresh_after_errors | refresh_after_errors は互換性のために使用され、無視することができます。 デフォルト値は FALSE です。 |
purge_option | purge_option は互換性のために使用され、無視することができます。 デフォルト値は 1 です。 |
parallelism | parallelism は互換性のために使用され、無視することができます。 デフォルト値は 0 です。 |
heap_size IN NUMBER DEFAULT 0, | heap_size は互換性のために使用され、無視することができます。 デフォルト値は 0 です。 |
atomic refresh | atomic_refresh は互換性のために使用され、無視することができます。 デフォルト値は TRUE です。 |
nested | nested は互換性のために使用され、無視することができます。 デフォルト値は FALSE です。 |
例
次の例では、DBMS_MVIEW.REFRESH を使用して、public.emp_view という名前の具体化されたビューを更新します。
EXEC DBMS_MVIEW.REFRESH(list => 'public.emp_view', method => 'C');
REFRESH_ALL_M VIEWS
REFRESH_ALL_MVIEWS ストアドプロシージャを使用すると、ビューが依存するテーブルまたはビューの更新後に更新されていない具体化されたビューを更新することができます。 次のコードは、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 | number_of_failures パラメーターのデータ型は BINARY_INTEGER です。 このパラメーターは、更新操作中に生じる失敗の数を指定します。 |
method | method パラメーターのデータ型は VARCHAR2 です。 このパラメーターは、指定されたビューに適用される更新方法を指定します。 C はサポートされている唯一の method で、ビューの完全な更新を実行するために使用されます。 |
rollback_seg | rollback_seg は互換性のために使用され、無視することができます。 デフォルト値は NULL です。 |
refresh_after_errors | refresh_after_errors は互換性のために使用され、無視することができます。 デフォルト値は FALSE です。 |
atomic refresh | atomic_refresh は互換性のために使用され、無視することができます。 デフォルト値は TRUE です。 |
例
DECLARE
errors INTEGER;
BEGIN
DBMS_MVIEW.REFRESH_ALL_MVIEWS(errors, method => 'C');
END;
更新が完了すると、エラー変数には失敗の数が含まれます。
REFRESH_DEPENDENT
REFRESH_DEPENDENT ストアドプロシージャを使用すると、ストアドプロシージャの呼び出しで指定されたビューに依存する具体化されたすべてのビューを更新することができます。 コンマ (,) で区切られたビューのリストを指定するか、DBMS_UTILITY.UNCL_ARRAY 値のテーブルでビューを指定することができます。
次のストアドプロシージャの構文を使用して、コンマ区切りリストで指定されたビューに依存する具体化されたすべてのビューを更新します。
REFRESH_DEPENDENT(
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,
nested 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,
nested IN BOOLEAN DEFAULT FALSE);
パラメーター
パラメーター | 説明 |
---|---|
number_of_failures | number_of_failures パラメーターのデータ型は BINARY_INTEGER です。 このパラメーターは、更新操作中に生じる失敗の数を指定します。 |
list | リストパラメーターのデータ型は VARCHAR2 です。 このパラメーターは、具体化されたビューの名前、またはコンマ (,) で区切られた具体化されたビューの名前のリストを指定します。 名前はスキーマで修飾する必要があります。 |
tab | DBMS_UTILITY.UNCL_ARRAY 値のテーブルで具体化されたビューの名前を指定します。 |
method | method パラメーターのデータ型は VARCHAR2 です。 このパラメーターは、指定されたビューに適用される更新方法を指定します。 C はサポートされている唯一の method で、ビューの完全な更新を実行するために使用されます。 |
rollback_seg | rollback_seg は互換性のために使用され、無視することができます。 デフォルト値は NULL です。 |
refresh_after_errors | refresh_after_errors は互換性のために使用され、無視することができます。 デフォルト値は FALSE です。 |
atomic refresh | atomic_refresh は互換性のために使用され、無視することができます。 デフォルト値は TRUE です。 |
nested | ネストは互換性のために使用され、無視することができます。 デフォルト値は FALSE です。 |
例
次の例では、emp_view という名前の具体化されたビューに依存するすべての具体化されたビューの完全な更新について説明します。 emp_view はパブリックスキーマにあります。
DECLARE
errors INTEGER;
BEGIN
DBMS_MVIEW.REFRESH_DEPENDENT (errors, list => 'public. emp_view ', method => 'C ');
END;
更新が完了すると、エラー変数には失敗の数が含まれます。