求助帖!JDBC怎么调用oracle中只含有一个参数的存储过程!

taoyizhi5419 2012-04-11 04:17:17
jdbc调用只有一个参数的存储过程怎么显示输出存储过程的结果!主要代码如下:
testcall = connection.prepareCall("{call Jie_Cheng(?)}");
testcall.setInt(1, 3);
testcall.execute();
System.out.println(不知道怎么输出存储过程的结果);
——————oracle中存储过程代码(只有一个参数)
create or replace procedure Jie_Cheng
(
O_num in number
)
as
S_num number:=1;
i number;
begin
for i in 1 .. O_num
loop
S_num:=S_num*i;
end loop;
dbms_output.put_line(S_num);
end Jie_Cheng;
...全文
72 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
taoyizhi5419 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
存储过程都没有返回参数,java里怎么能获取到呢
[/Quote]哦 那我可以理解说,像这种有返回参数的 调用的时候必须是两个参数,一个参数是不可以调用显示出原存储过程的结果的吗?
helloyanzi123 2012-04-11
  • 打赏
  • 举报
回复
存储过程都没有返回参数,java里怎么能获取到呢
taoyizhi5419 2012-04-11
  • 打赏
  • 举报
回复
嗯嗯,谢谢了!这种方法我已经试验成功了!不过,只有一个参数怎么调用?比如说我数据库中写好了一个很长很长的过程,再去修改的话太麻烦了。是不是一个参数的不能调用还是怎么的?求指导!
helloyanzi123 2012-04-11
  • 打赏
  • 举报
回复
存储过程加个out参数
create or replace procedure Jie_Cheng
(
O_num in number,
S_NUM OUT INT
);
testcall = connection.prepareCall("{call Jie_Cheng(?,?)}");
testcall.setInt(1, 3);
testcall.registerOutParameter(2, OracleTypes.INTEGER);//用的是oracle
testcall.execute();
System.out.println(testcall.getInt(2));//这个就是你要的返回结果了

58,441

社区成员

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

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