0

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

    CallableStatement.getArray(2, myArray);

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

SELECT column1 
INTO myVARRAY
FROM table1
WHERE table_id = t_id;

在存储过程中但这不起作用

4

1 回答 1

1

假设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");

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

于 2012-11-18T04:58:40.543 回答