0
私は準備された文の名前のパラメータに文字列の配列を渡すためにしようとしている:ORACLE文で指定されたパラメータにJavaから値を渡す
声明:
SELECT *
FROM FOOBAR
WHERE HOSTID IN (:hostIds)
ORDER BY NAME;
タイプのHOSTIDは、の番号です。
私が渡したい値は、データベースに文字列として保存されます。 g: '1、3、37'。 私はすでにさまざまなアプローチを試みてきましたが、まだ動作させることができませんでした。
まず、この値をそのまま渡します。 ( '1') - > 1.3(?)
2番目:1つの値( '1、3')として解釈するので、複数の値で動作しません。コレクションを作成し、java.sql.Arrayをビルドして渡します。 問題:私はこのようなコレクションを作成しました:(一貫性のないデータ型:
CREATE OR REPLACE TYPE VARCHAR2_ARRAY IS TABLE OF VARCHAR2;
とは配列を構築し、
statement.setArrayAtName("hostIds", value);
を使用しようとしたが、これはどちらか動作しませんでした
。何か提案がありますか?