我变了一个包:
create or replace package ptabc.TOOLS is
TYPE MYRS IS TABLE OF PTABC.ABC.A%TYPE INDEX BY BINARY_INTEGER;
type myCursor is ref cursor;
procedure GETMYRS(P_RS OUT MYRS);
end TOOLS;
包体:
create or replace package body PTABC.TOOLS is
procedure GETMYRS(P_RS OUT MYRS)
IS
CUR myCursor;
BEGIN
open CUR FOR
SELECT A FROM ABC;
FETCH CUR BULK collect INTO P_RS;
CLOSE CUR;
END GETMYRS;end TOOLS;在java中
CallableStatement proc;
try {
        proc = connection.prepareCall("{call ptabc.TOOLS.GETMYRS(?)}");
        proc.registerOutParameter(1,Types.OTHER);
        proc.execute()        
        ResultSet rs=(ResultSet) proc.getObject(1);
        while(rs.next())
        {
         System.out.print(rs.getString(1));
        }
     } catch (SQLException e) {
        
        e.printStackTrace();
}
运行后提示:
java.sql.SQLException: 无效的列类型
因为我的MYRS是自定义的集合类型,不知道改用哪个类型?
还有,如果我想用TYPE MYRS IS TABLE OF PTABC.ABC%ROWTYPE;
好像包编译通不过,但不提示我错误在哪儿。请赐教!