dポイントプレゼントキャンペーン実施中!

マテリアライズドビューを作成し、selelct文を発行致しましたら、
『"TEST2":無効な識別子です。』とエラーが出てしまいました。
下記の様に、テーブル、View、マテリアライズドビューを作成した後、
select文を作成しました。
View、マテリアライズドビュー、select文のいずれかで間違いが有ると思うのですが、どの様に修正を行えば良いのかが分かりません。
ですのでエラーを回避する方法を教えて頂きたく思っております。
宜しくお願い致します。

■テーブル1作成
Create table TEST_TBL1 (
Test1 nchar(6),
Test2 nchar(6)
);

■テーブル2作成
Create table TEST_TBL2 (
Test1 nchar(6),
Test2 nchar(6)
);

■レコード追加
INSERT INTO TEST_TBL1 (Test1, Test2) VALUES (1,1);
INSERT INTO TEST_TBL1 (Test1, Test2) VALUES (2,2);
INSERT INTO TEST_TBL2 (Test1, Test2) VALUES (3,3);
INSERT INTO TEST_TBL2 (Test1, Test2) VALUES (4,4);

■ビュー作成
create view TEST_VIEW as
select A.rowid AROWID,A.Test1 ID,A.Test2 TITLE,3 MARKER from TEST_TBL1 A
union all
select B.rowid AROWID,B.Test1 ID,B.Test2 TITLE,4 MARKER from TEST_TBL2 B;

■ログ作成
create materialized view log on TEST_TBL1
with sequence,rowid (Test1, Test2)
including new values;

create materialized view log on TEST_TBL2
with sequence,rowid (Test1, Test2)
including new values;

■マテビュー作成
create materialized view TEST_MVIEW
REFRESH FAST on demand as
select * from TEST_VIEW;

■データ抽出
Select TEST1 FROM TEST_MVIEW WHERE TEST2 = '1';

ご回答の程、宜しくお願い致します。

A 回答 (1件)

>create view TEST_VIEW as


>select A.rowid AROWID,A.Test1 ID,A.Test2 TITLE,3 MARKER from TEST_TBL1 A
>union all
>select B.rowid AROWID,B.Test1 ID,B.Test2 TITLE,4 MARKER from TEST_TBL2 B;

あのー、TEST_VIEWにはすでにTEST2というフィールドはありませんよね?
(TITLEにリネームしています)
    • good
    • 0
この回答へのお礼

いつもお世話になっております。
ご回答ありがとうございます。
『Select ID FROM TEST_MVIEW WHERE TITLE = '1';』と修正致しましたら、正常に検索が出来ました。
本当にありがとうございました。
これからも何卒宜しくお願い致します。

お礼日時:2008/12/01 17:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!