怎样在java里面调用oracle里面的自定义数据类型

ebrmp 2007-06-15 04:57:00
SQL> SET SERVEROUTPUT ON

SQL> 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 时参数个数或类型错误

不知道应该是什么类型呢
...全文
184 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
swvincent 2007-06-20
  • 打赏
  • 举报
回复
关注!!!
ebrmp 2007-06-16
  • 打赏
  • 举报
回复
没人知道么
ebrmp 2007-06-15
  • 打赏
  • 举报
回复

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧