プロが教える店舗&オフィスのセキュリティ対策術

VIEW同士をUNIONすることは可能でしょうか?

というより、実行してみたのですが、データ型が一致していない列があり出来ませんでした。
View作成時にのデータ型を設定する方法などはあるのでしょうか?
識者の方がいればご教示いただきたいです。
よろしくお願いいたします。

A 回答 (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型辺りになっているはずです
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
こちらの方法でいけました。
ありがとうございました。

お礼日時:2011/01/31 10:09

>VIEW同士をUNIONすることは可能でしょうか?


単純な表であれば常識的に考えてできると思います。特殊なVIEWの場合は無理かも知れません。

>View作成時にのデータ型を設定する方法などはあるのでしょうか?
データ型を設定する方法は知りませんが、データ型が一致しないのだからキャストをすればいいのだから、CAST関数を使用してみてはどうでしょうか?
http://www.shift-the-oracle.com/sql/functions/ca …

うまくいくかは保証できませんので、実際にご確認ください。
以上、乱文失礼しました。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
こちらの方法も参考にさせていただきました!

お礼日時:2011/01/31 10:09

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

関連するカテゴリからQ&Aを探す