
マテリアライズドビューを作成しましたら、
『複合問合せから高速リフレッシュ・マテリアライズド・ビューを作成できません。』とエラーが出てしまいました。
下記の様に、テーブルを作成し、Viewを作成した後、
マテリアライズド・ビューを作成しました。
Viewを作成するところまでは、現在のシステムの都合上、変更する事が出来ません。
ですので、もし、マテリアライズド・ビューを作成する箇所を修正し、
エラーを回避する方法を教えて下さい。
宜しくお願い致します。
■テーブル1の作成
(1)Create table TEST_TBL1 (
Test1 nchar(6),
Test2 nchar(6)
);
■テーブル2の作成
(2)Create table TEST_TBL2 (
Test1 nchar(6),
Test2 nchar(6)
);
■ビューの作成
(3)create view TEST_VIEW(ID, TITLE) as
select * from TEST_TBL1
union all
select * from TEST_TBL2;
■マテリアライズドビューの作成
(4)create materialized view TEST_MVIEW
REFRESH FAST ON DEMAND AS
SELECT * FROM TEST_VIEW;
ご回答の程、宜しくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
マニュアルの「UNION ALLを含むマテリアライズド・ビューの高速リフレッシュに関する制限」は読まれました?
・高速リフレッシュには、テーブル1、テーブル2にマテリアライズドビューログが必要ですので作成してください。
・UNION ALLを行う場合、ROWIDとUNION ALLマーカーが必要です。
つまり、Viewは最低でもROWIDとマーカーの2項目が追加されてないとだめです。
ということで、ビューは変更できない質問者さんは、
・高速リフレッシュはあきらめる
・ビューを経由するのはあきらめ、直接マテビューにUNION ALLを切る
CREATE MATERIALIZED VIEW TEST_MVIEW
REFESH FAST ON DEMAND AS
SELECT 1 Mk,ROWID CRID,Test1,Test2 FROM TEST_TBL1
UNION ALL
SELECT 2 Mk,ROWID CRID,Test1,Test2 FROM TEST_TBL2
ということになります。
いつもお世話になっております。
丁寧で分かり易いご回答に感謝しております。
ビューを変更しない場合、上記のどちらかという事になるのですね。
とても助かりました。本当にありがとうございました。
また、何かございましたら、何卒宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL テーブル作成時のカラムについて 2 2022/08/27 21:48
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- MySQL php テーブルを作れない 2 2022/11/17 18:22
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
truncate tableを使って複数の...
-
オラクルのUPDATEで複数テーブル
-
エラーを起こす方法
-
AccessからOracle DB(View)を...
-
フィールド数が異なるテーブル...
-
任意のテーブルをdrop tableしたい
-
テーブル定義書(Oracle) 【IX】...
-
CASEでBETWEEN制約
-
テーブルDROPできないのです。。。
-
データ削除とSQL*Loaderでのイ...
-
すべての参照制約を解除したい
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
sqlに記述できない文字
-
既存データをINSERT文にして出...
-
エクセルvbaでpostgresに接続を...
-
2つのテーブルをLIKE演算子のよ...
-
SELECTした結果に行番号を求めたい
-
SQLサーバに対するSQL文で抽出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
truncate tableを使って複数の...
-
オラクルのUPDATEで複数テーブル
-
エラーを起こす方法
-
テーブル定義書(Oracle) 【IX】...
-
CASEでBETWEEN制約
-
既にテーブルが存在する場合の...
-
データ削除とSQL*Loaderでのイ...
-
任意のテーブルをdrop tableしたい
-
貸家のデータベース
-
AccessからOracle DB(View)を...
-
oracle ora-02298
-
Where句のNot条件をAnd条件にし...
-
テーブルDROPできないのです。。。
-
テーブルに変更があったらCSV出力
-
accessのデータをoracleへinser...
-
1テーブルに対して別々の条件...
-
select文の結果から新しいテー...
-
フィールド数が異なるテーブル...
-
[materialized]マテリアライズ...
-
複数レコードの複数フィールド...
おすすめ情報