存储过程返回VARRAY类型,急,在线等待
我的程序如下
create or replace package TTTT is
type CarBoatInfo is ref cursor;
TYPE testtype is record
(aa number(1),
bb varchar2(10));
TYPE vtest is VARRAY(10) of TESTTYPE;
PROCEDURE test_ret(abc out vtest);
end TTTT;
create or replace package body TTTT is
PROCEDURE test_ret(abc out vtest) IS
ret testtype;
BEGIN
if abc is NULL then
dbms_output.put_line('aa is NUll');
end if;
ret.aa := 1;
ret.bb := '1';
abc := vtest(ret);
END test_ret;
我在JAVA中调用这个存储过程
java.sql.ResultSet rs= null;
java.sql.CallableStatement cs= null;
java.sql.Connection conn= null;
try {
conn= this.getConnection();
} catch (BaseException ex) {
throw new BaseException("E020023", ex);
}
try {
try {
conn.setAutoCommit(true);
oracle.jdbc.OracleCallableStatement stmt = (oracle.jdbc.OracleCallableStatement)conn.prepareCall("{call tttt.test_ret(?)}");
oracle.jdbc.OracleTypes.ARRAY, "tttt.VTEST");
stmt.execute(); //执行到这里抛出异常
不知道事什么原因 ,各位大虾救命!