0

我是java和SQL的初学者。请求帮助,了解如何从 Oracle 游标类型结果集中检索值。

我正在尝试从 Java 调用存储过程并检索结果集值以进行进一步处理。

存储过程的 IN 参数很少,比如 Input_1 和 Input_2。OUT 参数定义为 cursorType 定义为,OUT_1 NUMBER(10), OUT_2 VARCHAR 2 (30 BYTE), "OUT_3" AS VARRAY (750) OF Output3_OBJ。其中输出 3_OBJ 定义为

CREATE OR REPLACE TYPE schema."Output 3_OBJ" AS OBJECT
    (
      ATTRIBUTE_C               VARCHAR2(30),
      VALUE_X                   VARCHAR2(2000 BYTE),
      VALUE_TS                  TIMESTAMP(6),
      VALUE_I                   NUMBER(10),
      OPERAND_C                 VARCHAR2(10)
    )

我能够检索 OUT_1 和 OUT_2。为了获取 OUT_3 下的每个子元素,请您帮帮我。我对另一个存储过程有相同的结构,我使用数组描述符、数组列表和数组将这些对象类型传递给 Oracle。但是在从 Oracle 检索数据时,我厌倦了各种混合和匹配,但没有工作。感谢有人可以通过示例代码帮助我。谢谢。

4

1 回答 1

0

你可以通过这种方式获得

stmt.registerOutParameter(3, Types.ARRAY, "Output 3_OBJ");
stmt.execute();
Array array = stmt.getArray(3);
于 2013-03-08T07:51:07.317 回答