マテリアライズド・リフレッシュ・ビューの作成およびプロシージャで発生したエラー分析レコードについて
1720 ワード
詳細
マテリアライズド・リフレッシュ・ビューの作成およびプロシージャで発生したエラー分析レコードについて(インクリメンタル・リフレッシュ・ビューに偏っている)
1、ビューに複数のコンストレイントを追加できますか?
通常のビューでは、作成中に複数のコンストレイントを設定できません.すなわち、with read onlyとwith check optionは2つしか選択できません.複数を作成すると通過しません.
2、物化ビューログは右側のディレクトリでdropを右クリックできますか?
可能ですが、ビューログを再作成するとすでに存在すると報告されますので、以下に示すように手動sqlで削除する必要があります.
3、ORA-12006:a materialized view log for "xxxx"."xxx"does not record the primary key;
この問題は長い間悩んでやっと答えを見つけて、本当にすべて急いで鼻血を流して、ここで記録します
これは、次のように、マテリアライズドインクリメンタルリフレッシュビューを作成する前に作成したマテリアライズド・ビュー・ログがrowidに基づいているためです.
次に、物体化ビューsqlを作成します.
このビューはデフォルトでprimary keyに基づいて構築されているので作成に成功せず、以上のエラーが提示されていますが、エラーを報告しないにはどう書けばいいのでしょうか.以下に示す
上のsqlに加えた注釈に注意してください.注意しなければならない点です.with rowidを使用します.そうすれば、私たちが作成したビューはrowidに基づいており、rowidに別名を付ける必要があります.そうしないと、作成は成功しません.
ではrowidベースのビューがある以上primary keyベースのインクリメンタルリフレッシュビューもあります
定義方法は次のとおりです.
以上は、マテリアライズドインクリメンタルリフレッシュビューに関するいくつかの問題であり、後で追加されます.
マテリアライズド・リフレッシュ・ビューの作成およびプロシージャで発生したエラー分析レコードについて(インクリメンタル・リフレッシュ・ビューに偏っている)
1、ビューに複数のコンストレイントを追加できますか?
通常のビューでは、作成中に複数のコンストレイントを設定できません.すなわち、with read onlyとwith check optionは2つしか選択できません.複数を作成すると通過しません.
2、物化ビューログは右側のディレクトリでdropを右クリックできますか?
可能ですが、ビューログを再作成するとすでに存在すると報告されますので、以下に示すように手動sqlで削除する必要があります.
drop materialized view log on teacher
3、ORA-12006:a materialized view log for "xxxx"."xxx"does not record the primary key;
この問題は長い間悩んでやっと答えを見つけて、本当にすべて急いで鼻血を流して、ここで記録します
これは、次のように、マテリアライズドインクリメンタルリフレッシュビューを作成する前に作成したマテリアライズド・ビュー・ログがrowidに基づいているためです.
create materialized view log on teacher with rowid;
次に、物体化ビューsqlを作成します.
create materialized view mv_teacher
refresh fast
as
select r.rowid ,r.name name1 from teacher r
このビューはデフォルトでprimary keyに基づいて構築されているので作成に成功せず、以上のエラーが提示されていますが、エラーを報告しないにはどう書けばいいのでしょうか.以下に示す
create materialized view mv_teacher5
refresh fast with rowid -- with rowid
as
select r.rowid rr,r.*from teacher r-- rowid,
上のsqlに加えた注釈に注意してください.注意しなければならない点です.with rowidを使用します.そうすれば、私たちが作成したビューはrowidに基づいており、rowidに別名を付ける必要があります.そうしないと、作成は成功しません.
ではrowidベースのビューがある以上primary keyベースのインクリメンタルリフレッシュビューもあります
定義方法は次のとおりです.
create materialized view log on teacher with primary key;--
create materialized view mv_teacher8
refresh fast [ with primary key] -- ,
as
select * from teacher
以上は、マテリアライズドインクリメンタルリフレッシュビューに関するいくつかの問題であり、後で追加されます.