jdbc を使用して Java で SQL PreparedStatement を実行する必要があります。SQL コンテンツとリソース ファイルの文字列が含まれているため、パラメータの 1 つに問題があります。次のようになります。
必要な SQL:
SELECT * FROM Table T WHERE T.value = 10 AND T.display IN ('Sample1', 'Sample2')
上記のクエリでは、Sample1
とのSample2
値をパラメーターを介して PreparedStatement に渡す必要があります。
準備済みステートメント:
SELECT * FROM Table T WHERE T.value = 10 ?
私のアプリケーション コードでは、次のようなパラメーターを設定しています。
statement.setString(1, "AND T.display IN ('Sample1', 'Sample2')");
ただし、これは適切な結果を返しません。
SQL コンテンツと文字列も含まれていることを考慮して、この特定のパラメーターを作成するより良い方法はありますか?
EDIT:
Sample1, Sample2
などは、実行時に外部ファイルから取得される文字列であり、これらの文字列の数は毎回異なる場合があります。Sample1
つまり、1 つだけの文字列または複数の文字列が存在する可能性がありますSample1, Sample2, Sample3, etc.
。
EDIT2: 使用されているデータベースは Oracle です。