- ベストアンサー
ORACLE10g VIEW UNION
VIEW同士をUNIONすることは可能でしょうか? というより、実行してみたのですが、データ型が一致していない列があり出来ませんでした。 View作成時にのデータ型を設定する方法などはあるのでしょうか? 識者の方がいればご教示いただきたいです。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VIEW同士のUNIONは可能です データ型が一致していない列があるとUNION出来ない、これは書かれている通りです そのようなエラーが発生していたのであれば、そのような理由であると思われます View作成時にデータ型を設定する方法ということですが、 これは普通に明示的に型をキャストすることで可能です 例(NUMBER→VARCHAR2) Create Table TBL_NUM( NUM NUMBER ); Create View VIEW_NUM1 As Select NUM From TBL_NUM; Create View VIEW_NUM2 As Select To_Char( NUM ) As "NUM" From TBL_NUM; Desc TBL_NUM Desc VIEW_NUM1 Desc VIEW_NUM2 VIEW_NUM2.NUM は VARCHAR2型辺りになっているはずです
その他の回答 (1)
- OrangeCup150
- ベストアンサー率62% (109/174)
>VIEW同士をUNIONすることは可能でしょうか? 単純な表であれば常識的に考えてできると思います。特殊なVIEWの場合は無理かも知れません。 >View作成時にのデータ型を設定する方法などはあるのでしょうか? データ型を設定する方法は知りませんが、データ型が一致しないのだからキャストをすればいいのだから、CAST関数を使用してみてはどうでしょうか? http://www.shift-the-oracle.com/sql/functions/cast.html うまくいくかは保証できませんので、実際にご確認ください。 以上、乱文失礼しました。
お礼
ご回答ありがとうございます。 こちらの方法も参考にさせていただきました!
お礼
ご回答ありがとうございました。 こちらの方法でいけました。 ありがとうございました。