« JUnit | Main | ATOK17購入! »

2004.03.28

仮想テーブル

 DB2でのSQLにおいてWITH構文なるものがあったので、試しに使ってみました。簡単に言えば、1つのSQL中で仮想テーブルを作成し、その仮想テーブルに対してデータを結合したりできる感じでしょうか?

 FROMやLEFT OUTERの中でもサブクエリとして仮想テーブルを作成できますが、その場合はいろいろと制約がある(サブクエリ中では使用できないコマンドがいろいろとあったりしますし)のに対し、WITHを使用した場合はもっと幅広く使えたりするんでしょうか? まだあまり使い込んでいないので詳細はわかりませんが、参考にしたSQL文は、WITHブロックの中でORDER BYを使用していたりしたので。

 ただ、SQL文が"WITH"で始まるため使用するツールによっては「参照系(executeQuery)」と判断されずに「更新系(executeUpdate)」として実行してしまい、SQLExceptionが出たりしますが(笑)。現在メインで使用しているのが、自作のSQL実行ツールと、EclipseのDBEditプラグインなのですが、自作の方はとりあえずソースを書き直してWITHで始まっていてもexecuteQueryを実行できるように修正することにより対応できましたが、DBEditの方は・・・?? 何か手段があるのかもしれませんが、まだ見つけていません(^^;;

 おまけとして、「強制executeQuery」「強制executeUpdate」を行えるような実行ボタンも追加しました(笑)。

|

« JUnit | Main | ATOK17購入! »

DB」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/362904

Listed below are links to weblogs that reference 仮想テーブル:

« JUnit | Main | ATOK17購入! »