Monday, January 16, 2006

Oracle 10g における VIEW の外部結合でエラー

Oracle 10g で VIEW をつくって、それらを完全外部結合したら
ORA-03113 エラーが発生してしまう。ネットで調べてみると
同様の現象が報告されていて、どうも Oracle のバグらしい。
Oracle 再起動で直ることもあるとか。非力なマシンで
やっているので、もっとマシなサーバでやればうまくいくのかもしれない。

とりあえず、VIEW をテーブルにコピーして、テーブルを
外部結合させたらうまくいった。

SELECT top.seq_no top_news_grp,
general.seq_no general_news_grp,
stock.seq_no stock_news_grp,
money.seq_no money_news_grp
FROM
v_top_news_grp top
FULL OUTER JOIN
v_general_news_grp general ON ( top.seq_no = general.seq_no )
FULL OUTER JOIN
v_stock_news_grp stock ON ( top.seq_no = stock.seq_no OR general.seq_no = stock.seq_no )
FULL OUTER JOIN
v_money_news_grp money ON ( top.seq_no = money.seq_no OR general.seq_no = money.seq_no
OR stock.seq_no = money.seq_no );

No comments: