我是java和SQL的初学者。请求帮助,了解如何从Oracle Cursor类型结果集中检索值。
我正在尝试从Java调用存储过程并检索结果集值以供进一步处理。
存储过程的IN参数很少,比如Input_1和Input_2。 OUT参数定义为cursorType,定义为, OUT_1号码(10), OUT_2 VARCHAR 2(30 BYTE), 输出3_OBJ的“OUT_3”AS VARRAY(750)。 其中输出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下的每个子元素,请你帮我。我对另一个Stored过程有一个相同的结构,我使用Array Descriptor,Array List和Array将这些Object类型传递给Oracle。但是从Oracle检索数据时,我厌倦了各种混合和匹配,但没有工作。感谢是否有人可以通过示例代码帮助我。感谢。
答案 0 :(得分:0)
你可以这样做
stmt.registerOutParameter(3, Types.ARRAY, "Output 3_OBJ");
stmt.execute();
Array array = stmt.getArray(3);