1

複数の配列でクエリを実行しようとしているので、次のようなクエリを作成する必要があります

SELECT * FROM TABLE_NAME WHERE FIELD1 IN (?,?,?) AND FIELD2 IN(?,?,?) .... SO ON

そのため、毎回、私が持っている各配列のサイズに基づいて?の数を生成し、そこに配置する必要があります。私にはとても古風に思えます。それを行う他の方法はありますか?値の配列を直接挿入するように。

Java v1.4 を使用しています。SQL配列の作成について1.6で何かを見ましたが、1.4では何も見ませんでした

4

1 に答える 1

0

SQL ビルダー ライブラリがなければ、これらの複数のバインド値を自分で生成する必要があります。JDBC 配列のサポートがあっても、私の知る限り、これは一般的に不可能であり、特に Sybase ASE では不可能です。

SQLビルダーライブラリとは、jOOQ(私が開発者です)のようなものを意味します:

String[]  array1 = {"1", "2", "3"};
Integer[] array2 = { 1 ,  2 ,  3 };

create.select()
      .from(TABLE_NAME)
      .where(FIELD1.in(array1))
      .and(FIELD2.in(array2))
      .fetch();

jOOQ には Java 1.6 が必要であることに注意してください。

于 2012-08-17T15:16:19.247 に答える