0
我想爲一個字符串數組傳遞給準備好的聲明的命名參數:傳遞一個值給定參數
聲明:
SELECT *
FROM FOOBAR
WHERE HOSTID IN (:hostIds)
ORDER BY NAME;
類型HOSTID是號碼。
我想傳遞的值在我的數據庫中保存爲字符串, g .:'1,3,37'。 我已經嘗試了各種方法,但我無法讓它工作。
第一:按照原樣傳遞此值。 問題:使用一個值('1')可以正常工作,但由於oracle將其解釋爲一個值('1,3') - > 1.3(?),因此不會使用多個值。
第二:創建收集,構建一個java.sql.Array並傳遞它。 問題::(我已經創建了一個集這樣的不一致的數據類型:
CREATE OR REPLACE TYPE VARCHAR2_ARRAY IS TABLE OF VARCHAR2;
並試圖建立一個數組,並使用
statement.setArrayAtName("hostIds", value);
但是,這也不能工作
。有什麼建議嗎?