2

fast refresh on commit materialized view2 つのテーブルを作成し、それらのテーブルを結合して を作成できることがわかりました。

しかし、私がやりたいことはfast refresh on commit、以下に基づいて具体化されたビューを作成することです:

(1) テーブル JOINED TO
(2)complete refresh on demandそれ自体が他のビュー (通常のビュー) に基づいているマテリアライズド ビュー。

これを試してみると、明らかにそうでない場合でも、句内のエントリが互いに依存関係にORA-12053あることについて話しているerror が表示されます。from

(2) を通常のテーブルに置き換え、マテリアライズド ビューを更新する代わりに、このテーブルに一括挿入するだけで、これを回避できます。ただし、必要がない場合は、これを実行したくありません。

エラーを説明する最小限の例に取り組みますが、やりたいことが可能かどうか (できれば例によって) 可能かどうかを教えていただければ、それは素晴らしいことです。

4

2 に答える 2

0

Follow these facts to understand the error.

  1. The Fast Refresh on Commit materialized view is refreshed row by row based on changes made on base tables.
  2. The Refresh Complete on Demand materialized view is refreshed by truncate the destination table and reinsert everything.
  3. The refresh of the upper materialized view won't be possible because oracle can't track changes on table 2 (that is, the refresh complete materialized view.)
于 2011-09-19T13:04:58.550 に答える
0

ネストされたマテリアライズド ビューには制限があります。このブログ投稿でそれらについて説明しました。ORA-12053 は、ネストされた MV の最初の制限を満たさない結果です。基礎となる MV をより複雑にする (すべての MV を結合、集約、または結合する) ことが解決策です。

よろしく、
ロブ。

于 2011-09-19T21:38:52.480 に答える