SQL> SET SERVEROUTPUT ONSQL> Create Or Replace Procedure lunartest2 Is
  2     TYPE NumTab IS TABLE OF emp.empno%TYPE;
  3     TYPE NameTab IS TABLE OF emp.ename%TYPE;
  4     enums NumTab; -- no need to initialize
  5     names NameTab;
  6  BEGIN
  7     SELECT empno, ename BULK COLLECT INTO enums, names FROM emp;
  8     FOR i in enums.FIRST..enums.LAST LOOP
  9        DBMS_OUTPUT.PUT_LINE(enums(i) || ' ' || names(i));
 10     END LOOP;
 11  END;
 12  /如果这样存储过程 我想把enums作为一个结果集返回 而不是只输出
那么存储过程未lunartest2 (enums out numTab)那么在java里面调用的时候
CallableStatement  stmt = connect.prepareCall("{call lunartest2 (?)}");
stmt.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR); 这里试过oracle.jdbc.OracleTypes.CURSOR
是出错的 报错调用 lunartest2 时参数个数或类型错误不知道应该是什么类型呢