[pgsql-jp: 27067] JDBCでのIN比較演算子

小野 心 shin-ono @ mdsnet.co.jp
2002年 8月 17日 (土) 03:10:44 JST


 いつもお世話に成っております。

 JDBC関係の質問で、もしかしたら凄く稚拙な事を聞いてしまっている
かも知れないのですが、よろしくお願いします。

 まず、WHERE句の条件としてIN比較演算子を利用して以下の様なSELECT
文を実行したいとします。

SELECT table1.a,table1.b,table1.c FROM table1 WHERE a in (1,2,3)

 この場合に、IN演算子の2項目の数が不定と仮定しJDBC利用時に以
下のSQL文を利用してPreparedStatementを作成して、可変要素のパラ
メータとして"1,2,3"の部分を設定したいとします。

SELECT table1.a,table1.b,table1.c FROM table1 WHERE a in (?)
                                                         ^^^
 以前にOracle8.1用のJDBCを利用した場合に、上記のSQL文で
PreparedStatement.setStringメゾットで"1,2,3"の値を設定しても、
1番目のSQL文を直接指定した場合と同等な結果が得られませんでした。

 ここからが質問なのですが

・PostgresのJDBCでは、この様な操作を行えるのでしょうか?

・また、全く別の方法が有るのしょうか?

・それとも、SQL文をテキストレベルで生成しないと実現できないので
しょうか?

 変な書き方で申し訳ございませんが、出来れば設計の時点で考慮して
起きたいので、ご存じの方がいらっしゃいましたら、お教え願いないで
しょうか。



=====================================================

             Shin Ono(小野 心)      
              System Director

   MINOLTA DIGITAL SOLUTION CO.,LTD
   3-2-1 Kamiosaki, Shinagawa-ku, Tokyo 141-0021 
  TEL:03-5449-2003/FAX.03-5449-2010
-----------------------------------------------------
                      Mailto:shin-ono @ mdsnet.co.jp
                      http://www.mdsnet.co.jp/
=====================================================



pgsql-jp メーリングリストの案内