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

PolarDB:DBMS_MVIEW

最終更新日:Jun 05, 2024

DBMS_MVIEWパッケージを使用して、すべてのマテリアライズドビューまたは指定されたマテリアライズドビューを更新できます。 このパッケージは、指定されたオブジェクトに依存するマテリアライズドビューを更新または取得することもできます。

サブプログラム

サブプログラム

説明

REFRESH_ALL_MVIEWSプロシージャ

すべての具体化されたビューを更新します。

REFRESHプロシージャ

具体化されたビューを更新します。

REFRESH_DEPENDENTプロシージャ

指定されたオブジェクトに依存する具体化されたビューを更新します。

GET_MV_DEPENDENTプロシージャ

指定されたオブジェクトに依存するマテリアライズド・ビューを取得します。

REFRESH_ALL_MVIEWS

このストアドプロシージャは、すべてのマテリアライズドビューを更新するために使用されます。

構文

<bx id="1" type="code" text="code code=" PROCEDURE REFRESH_ALL_MVIEWS ()
number_of_failures OUT BINARY_INTEGER、VARCHAR2のメソッド:= NULL、rollback_segでVARCHAR2 := NULL、BOOLEANでrefresh_after_errors:= FALSE、atomic_refresh IN BOOLEAN := TRUE、out_of_place IN BOOLEAN := FALSE);"id=" aoqmel "title=" "uuuid=" ljy7b26obe27m3mmaq "data-tag=" codeblock "outputclass=" language-sql "" "/>PROCEDURE REFRESH_ALL_MVIEWS (
    number_of_failures OUT BINARY_INTEGER、
    VARCHAR2のメソッド:= NULL、
    rollback_segでVARCHAR2 := NULL、
    BOOLEANでrefresh_after_errors:= FALSE、
    atomic_refresh IN BOOLEAN := TRUE、
    out_of_place IN BOOLEAN := FALSE); 

Parameters

パラメーター

説明

number_of_failures

更新に失敗したマテリアライズドビューの数。

method

(オプション) マテリアライズドビューを更新するために使用されるメソッド。 有効な値:

  • Cまたはc: 完全なリフレッシュ方法。

  • Aまたはa: 常にリフレッシュ方法。

説明

完全なリフレッシュ方法と常にリフレッシュ方法は、すべてのマテリアライズドビューをリフレッシュする同等の方法です。

rollback_seg

(オプション) マテリアライズドビューが更新されたときのロールバックセグメント。 このパラメータは、Oracleとの互換性のために提供されます。

refresh_after_errors

(オプション) リフレッシュ中にエラーが発生した後、マテリアライズドビューをリフレッシュし続けるかどうかを指定します。 このパラメータは、Oracleとの互換性のために提供されます。

atomic_refresh

(オプション) リフレッシュがアトミックかどうかを指定します。 このパラメータは、Oracleとの互換性のために提供されます。

out_of_place

(オプション) このパラメータは、Oracleとの互換性のために提供されます。

次の例は、現在のデータベースのすべてのマテリアライズドビューを更新する方法を示しています。

<bx id="1" type="code" text="code id=" kolxuv "title=" "uuid=" ljz2gnma0bwaeodkgcd6 "code=" CREATE TABLE test(a int、b int);

テスト値 (1、2) に挿入します。テストからのSELECT a、bとしてMATERIALIZED VIEW mv0を作成します。テスト値 (2、3) に挿入します。SELECT * からmv0注文BY 1, 2;
a | b
--- + ---
1 | 2
(1行)

DECLARE
BINARY_INTEGER;
開始
DBMS_MVIEW.REFRESH_ALL_MVIEWS(a);
-- リフレッシュ失敗の数は: 0
DBMS_OUTPUT.PUT_LINE('リフレッシュ失敗の数は:' | | a);
エンド;

SELECT * からmv0注文BY 1, 2;
a | b
--- + ---
1 | 2
2 | 3
(2行)
"data-tag=" codeblock "outputclass=" language-plsql ""/>CREATE TABLE test(a int、b int);

テスト値 (1、2) に挿入します。テストからのSELECT a、bとしてMATERIALIZED VIEW mv0を作成します。テスト値 (2、3) に挿入します。SELECT * からmv0注文BY 1, 2;
 a | b
--- + ---
 1 | 2
(1行)

DECLARE
    BINARY_INTEGER;
開始
    DBMS_MVIEW.REFRESH_ALL_MVIEWS(a);
    -- リフレッシュ失敗の数は: 0
    DBMS_OUTPUT.PUT_LINE('リフレッシュ失敗の数は:' | | a);
エンド;

SELECT * からmv0注文BY 1, 2;
 a | b
--- + ---
 1 | 2
 2 | 3
(2行)

REFRESH

このストアドプロシージャは、指定されたマテリアライズドビューを更新するために使用されます。

構文

<bx id="1" type="code" text="code id=" edr6um "title=" "uuid=" ljzmdatbl4u1ka3kw3m "code=" PROCEDURE REFRESH (
リストIN VARCHAR2,
VARCHAR2のメソッド:= NULL、rollback_segでVARCHAR2 := NULL、ブールでpush_deferred_rpc:= true、BOOLEANでrefresh_after_errors:= false、purge_option INBINARY_INTEGER:= 1、BINARY_INTEGERの並列処理:= 0、heap_size IN BINARY_INTEGER := 0、atomic_refresh IN BOOLEAN := true、ネストされたIN BOOLEAN := false、BOOLEANのout_of_place:= false、skip_ext_data IN BOOLEAN := false);

手続きリフレッシュ (
タブIN DBMS_UTILITY.UNCL_ARRAY,
VARCHAR2のメソッド:= NULL、rollback_segでVARCHAR2 := NULL、ブールでpush_deferred_rpc:= true、BOOLEANでrefresh_after_errors:= false、purge_option INBINARY_INTEGER:= 1、BINARY_INTEGERの並列処理:= 0、heap_size IN BINARY_INTEGER := 0、atomic_refresh IN BOOLEAN := true、ネストされたIN BOOLEAN := false、BOOLEANのout_of_place:= false、skip_ext_data IN BOOLEAN := false);"data-tag=" codeblock "outputclass=" language-plsql ""/>PROCEDURE REFRESH (
    リストIN VARCHAR2,
    VARCHAR2のメソッド:= NULL、
    rollback_segでVARCHAR2 := NULL、
    ブールでpush_deferred_rpc:= true、
    BOOLEANでrefresh_after_errors:= false、
    purge_option INBINARY_INTEGER:= 1、
    BINARY_INTEGERの並列処理:= 0、
    heap_size IN BINARY_INTEGER := 0、
    atomic_refresh IN BOOLEAN := true、
    ネストされたIN BOOLEAN := false、
    BOOLEANのout_of_place:= false、
    skip_ext_data IN BOOLEAN := false);

手続きリフレッシュ (
    タブIN DBMS_UTILITY.UNCL_ARRAY,
    VARCHAR2のメソッド:= NULL、
    rollback_segでVARCHAR2 := NULL、
    ブールでpush_deferred_rpc:= true、
    BOOLEANでrefresh_after_errors:= false、
    purge_option INBINARY_INTEGER:= 1、
    BINARY_INTEGERの並列処理:= 0、
    heap_size IN BINARY_INTEGER := 0、
    atomic_refresh IN BOOLEAN := true、
    ネストされたIN BOOLEAN := false、
    BOOLEANのout_of_place:= false、
    skip_ext_data IN BOOLEAN := false); 

Parameters

パラメーター

説明

リストまたはタブ

更新する具体化されたビュー。

method

(オプション) マテリアライズドビューを更新するために使用されるメソッド。 有効な値:

  • Cまたはc: 完全なリフレッシュ方法。

  • Aまたはa: 常にリフレッシュ方法。

説明

完全なリフレッシュ方法と常にリフレッシュ方法は、すべてのマテリアライズドビューをリフレッシュする同等の方法です。

rollback_seg

(オプション) マテリアライズドビューが更新されたときのロールバックセグメント。 このパラメータは、Oracleとの互換性のために提供されます。

push_deferred_rpc

(オプション) マテリアライズドビューの変更を関連するプライマリテーブルまたはプライマリマテリアライズドビューにプッシュするかどうかを指定します。 このパラメーターは、更新可能なマテリアライズド・ビューに対してのみ有効です。 このパラメータは、Oracleとの互換性のために提供されます。

refresh_after_errors

(オプション) リフレッシュ中にエラーが発生した後、マテリアライズドビューをリフレッシュし続けるかどうかを指定します。 このパラメータは、Oracleとの互換性のために提供されます。

purge_option

(オプション) このパラメータは、Oracleとの互換性のために提供されます。

parallelism

(オプション) このパラメータは、Oracleとの互換性のために提供されます。

heap_size

(オプション) このパラメータは、Oracleとの互換性のために提供されます。

atomic_refresh

(オプション) このパラメータは、Oracleとの互換性のために提供されます。

nested

(オプション) このパラメータは、Oracleとの互換性のために提供されます。

out_of_place

(オプション) このパラメータは、Oracleとの互換性のために提供されます。

skip_ext_data

(オプション) このパラメータは、Oracleとの互換性のために提供されます。

次の例は、指定されたマテリアライズドビューを更新する方法を示しています。

<bx id="1" type="code" text="code id=" 381a287026zk0 "title=" "uuid=" ljzmffhkzseja8zabk "code=" CREATE TABLE test(a int、b int);

テスト値 (1、2) に挿入します。テストからのSELECT a、bとしてMATERIALIZED VIEW mv0を作成します。テスト値 (2、3) に挿入します。SELECT * からmv0注文BY 1, 2;
a | b
--- + ---
1 | 2
(1行)

DECLARE
la DBMS_UTILITY.UNCL_ARRAY;
開始
la := DBMS_UTILITY.UNCL_ARRAY('mv0');
DBMS_MVIEW.REFRESH(tab => la、method => 'A' 、rollback_seg => NULL、push_deferred_rpc => true、refresh_after_errors => false、purge_option => 1、nested => false,
out_of_place => true、skip_ext_data => true);
エンド;

SELECT * からmv0注文BY 1, 2;
a | b
--- + ---
1 | 2
2 | 3
(2行)
"data-tag=" codeblock "outputclass=" language-plsql ""/>CREATE TABLE test(a int、b int);

テスト値 (1、2) に挿入します。テストからのSELECT a、bとしてMATERIALIZED VIEW mv0を作成します。テスト値 (2、3) に挿入します。SELECT * からmv0注文BY 1, 2;
 a | b
--- + ---
 1 | 2
(1行)

DECLARE
    la DBMS_UTILITY.UNCL_ARRAY;
開始
    la := DBMS_UTILITY.UNCL_ARRAY('mv0');
    DBMS_MVIEW.REFRESH(tab => la、
                       method => 'A' 、
                       rollback_seg => NULL、
                       push_deferred_rpc => true、
                       refresh_after_errors => false、
                       purge_option => 1、
                       nested => false,
                       out_of_place => true、
                       skip_ext_data => true);
エンド;

SELECT * からmv0注文BY 1, 2;
 a | b
--- + ---
 1 | 2
 2 | 3
(2行)

REFRESH_DEPENDENT

このストアドプロシージャは、指定されたオブジェクトに依存するマテリアライズドビューを更新するために使用されます。

構文

<bx id="1" type="code" text="code id=" xg3mbh "title=" "uuid=" ljzmg2lawnh2dea0yta "code=" PROCEDURE REFRESH_DEPENDENT ()
number_of_failures OUT BINARY_INTEGER、リストIN VARCHAR2,
VARCHAR2のメソッド:= NULL、rollback_segでVARCHAR2 := NULL、BOOLEANでrefresh_after_errors:= false、atomic_refresh IN BOOLEAN := true、ネストされたIN BOOLEAN := false、out_of_place IN BOOLEAN := false);

PROCEDURE REFRESH_DEPENDENT ()
number_of_failures OUT BINARY_INTEGER、タブIN DBMS_UTILITY.UNCL_ARRAY,
VARCHAR2のメソッド:= NULL、rollback_segでVARCHAR2 := NULL、BOOLEANでrefresh_after_errors:= false、atomic_refresh IN BOOLEAN := true、ネストされたIN BOOLEAN := false、out_of_place IN BOOLEAN := false);"data-tag=" codeblock "outputclass=" language-plsql ""/>PROCEDURE REFRESH_DEPENDENT (
    number_of_failures OUT BINARY_INTEGER、
    リストIN VARCHAR2,
    VARCHAR2のメソッド:= NULL、
    rollback_segでVARCHAR2 := NULL、
    BOOLEANでrefresh_after_errors:= false、
    atomic_refresh IN BOOLEAN := true、
    ネストされたIN BOOLEAN := false、
    out_of_place IN BOOLEAN := false);

PROCEDURE REFRESH_DEPENDENT ()
    number_of_failures OUT BINARY_INTEGER、
    タブIN DBMS_UTILITY.UNCL_ARRAY,
    VARCHAR2のメソッド:= NULL、
    rollback_segでVARCHAR2 := NULL、
    BOOLEANでrefresh_after_errors:= false、
    atomic_refresh IN BOOLEAN := true、
    ネストされたIN BOOLEAN := false、
    out_of_place IN BOOLEAN := false); 

Parameters

パラメーター

説明

number_of_failures

更新に失敗したマテリアライズドビューの数。

リストまたはタブ

更新される具体化されたビューが依存するオブジェクト。

method

(オプション) マテリアライズドビューを更新するために使用されるメソッド。 有効な値:

  • Cまたはc: 完全なリフレッシュ方法。

  • Aまたはa: 常にリフレッシュ方法。

説明

完全なリフレッシュ方法と常にリフレッシュ方法は、すべてのマテリアライズドビューをリフレッシュする同等の方法です。

rollback_seg

(オプション) マテリアライズドビューが更新されたときのロールバックセグメント。 このパラメータは、Oracleとの互換性のために提供されます。

refresh_after_errors

(オプション) リフレッシュ中にエラーが発生した後、マテリアライズドビューをリフレッシュし続けるかどうかを指定します。 このパラメータは、Oracleとの互換性のために提供されます。

atomic_refresh

(オプション) リフレッシュがアトミックかどうかを指定します。 このパラメータは、Oracleとの互換性のために提供されます。

nested

(オプション) このパラメータは、Oracleとの互換性のために提供されます。

out_of_place

(オプション) このパラメータは、Oracleとの互換性のために提供されます。

次の例は、指定したオブジェクトに依存するすべてのマテリアライズドビューを更新する方法を示しています。

<bx id="1" type="code" text="code id=" 81a054b726shf "title=" "uuid=" ljzmirnehyd4ax19do "code=" CREATE TABLE test(a int、b int);

テスト値 (1、2) に挿入します。テストからのSELECT a、bとしてMATERIALIZED VIEW mv0を作成します。テスト値 (2、3) に挿入します。SELECT * からmv0注文BY 1, 2;
a | b
--- + ---
1 | 2
(1行)

DECLARE
la DBMS_UTILITY.UNCL_ARRAY;
lenインテガー;
nof BINARY_INTEGER;
開始
DBMS_UTILITY.COMMA_TO_TABLE('test '、len、la);
DBMS_MVIEW.REFRESH_DEPENDENT(number_of_failures => nof、tab => la,
method => 'A' 、rollback_seg => NULL、refresh_after_errors => true、atomic_refresh => false、nested => false,
out_of_place => true);
-- リフレッシュ失敗の数は: 0
DBMS_OUTPUT.PUT_LINE('The num of refresh failures is:'| | nof);
エンド;

SELECT * からmv0注文BY 1, 2;
a | b
--- + ---
1 | 2
2 | 3
(2行)
"data-tag=" codeblock "outputclass=" language-plsql ""/>CREATE TABLE test(a int、b int);

テスト値 (1、2) に挿入します。テストからのSELECT a、bとしてMATERIALIZED VIEW mv0を作成します。テスト値 (2、3) に挿入します。SELECT * からmv0注文BY 1, 2;
 a | b
--- + ---
 1 | 2
(1行)

DECLARE
    la DBMS_UTILITY.UNCL_ARRAY;
    lenインテガー;
    nof BINARY_INTEGER;
開始
    DBMS_UTILITY.COMMA_TO_TABLE('test '、len、la);
    DBMS_MVIEW.REFRESH_DEPENDENT(number_of_failures => nof、
                                 tab => la,
                                 method => 'A' 、
                                 rollback_seg => NULL、
                                 refresh_after_errors => true、
                                 atomic_refresh => false、
                                 nested => false,
                                 out_of_place => true);
    -- リフレッシュ失敗の数は: 0
    DBMS_OUTPUT.PUT_LINE('The num of refresh failures is:'| | nof);
エンド;

SELECT * からmv0注文BY 1, 2;
 a | b
--- + ---
 1 | 2
 2 | 3
(2行)

GET_MV_DEPENDENT

このストアドプロシージャは、指定されたオブジェクトに依存するすべてのマテリアライズドビューを取得するために使用されます。

構文

<bx id="1" type="code" text="code id=" hwgsrk "title=" "uuid=" ljzmi82ghr76h5fpxu "code=" PROCEDURE GET_MV_DEPENDENCIES (
mvlist IN VARCHAR2,
deplist OUT VARCHAR2);"data-tag=" codeblock "outputclass=" language-plsql ""/>PROCEDURE GET_MV_DEPENDENCIES (
    mvlist IN VARCHAR2,
    deplistアウトVARCHAR2); 

Parameters

パラメーター

説明

mvlist

マテリアライズド・ビューが依存するオブジェクト。

deplist

指定されたオブジェクトに依存するマテリアライズド・ビュー。

次の例は、指定したオブジェクトに依存するすべてのマテリアライズドビューを返す方法を示しています。

<bx id="1" type="code" text="code id=" cff34ba52675h "title=" "uuid=" ljzmitc83vcwb0z7357 "code=" CREATE TABLE test(a int、b int);

テストからのSELECT a、bとしてMATERIALIZED VIEW mv0を作成します。テストからのSELECT a、bとしてMATERIALIZED VIEW mv1を作成します。DECLARE
deplist VARCHAR2;
開始
DBMS_MVIEW.GET_MV_DEPENDENCIES('test '、deplist);
-依存関係は次のとおりです: &quot;PUBLIC&quot;.&quot;MV0&quot; 、&quot;PUBLIC&quot;.&quot;MV1&quot;
DBMS_OUTPUT.PUT_LINE('依存関係は:' | | deplist);
END;"data-tag=" codeblock "outputclass=" language-plsql ""/>CREATE TABLE test(a int、b int);

テストからのSELECT a、bとしてMATERIALIZED VIEW mv0を作成します。テストからのSELECT a、bとしてMATERIALIZED VIEW mv1を作成します。DECLARE
    deplist VARCHAR2;
開始
    DBMS_MVIEW.GET_MV_DEPENDENCIES('test '、deplist);
    -- 依存関係は次のとおりです。"PUBLIC"."MV0" 、"PUBLIC"."MV1"
    DBMS_OUTPUT.PUT_LINE('依存関係は:' | | deplist);
エンド;