我需要从表中的特定列中获取值并将它们放入数组中。
我正在考虑使用PL / SQL存储过程,然后在java中调用该过程并使用类似以下内容:

    CallableStatement.getArray(2, myArray);


我正在考虑使用类似的东西:

SELECT column1
INTO myVARRAY
FROM table1
WHERE table_id = t_id;


在存储过程中
但这没用

最佳答案

假定myVARRAY的类型为varchar2。在这种情况下,您可以尝试类似

p_col   VARCHAR2 (32);

SELECT column1
INTO p_col
FROM table1
WHERE table_id = t_id;


然后将p_col添加到数组中

myVARRAY.EXTEND;
myVARRAY (1) := p_col;

RETURN myVARRAY;


从Java调用您的数组

callablestatement.registerOutParameter(2, OracleTypes.ARRAY, "MYVARRAY");


希望这会有所帮助,否则,请提供有关您的功能/过程以及所得到的错误类型的更多信息。

09-11 22:49