存储过程大致如下:
Type retstring is Record
(
a varchar2(6),
b varchar(10)
);
type retstr is table of retstring index by BINARY_INTEGER;
procedure getStr( ret out retstr )is
begin
...
loop
ret(i).a := a1;
ret(i).b := b1;
end loop;
...
end;
然后在java中调用该过程, ,在java中如何定义这样的变量得到ret的值 ?
请指教!!
Type retstring is Record
(
a varchar2(6),
b varchar(10)
);
type retstr is table of retstring index by BINARY_INTEGER;
procedure getStr( ret out retstr )is
begin
...
loop
ret(i).a := a1;
ret(i).b := b1;
end loop;
...
end;
然后在java中调用该过程, ,在java中如何定义这样的变量得到ret的值 ?
请指教!!
cs.registerOutParameter(3,oracle.jdbc.OracleTypes.OTHER);//输出参数
都不行
不过,因为cs.registerOutParameter(index,type) 后的type为一int
而oracle的自定义类型(就像上面的retstr)肯定存在某一系统表中,且有一个固定的int ID
所以我认为,只要将此ID作为cs.registerOutParameter(index,type)中的type就可以调用该procedure
至于返回值可通过JAVA的强制类型转换得到