java如何调用Oracle中包下的存储过程的?

[复制链接]
查看11 | 回复3 | 2009-9-27 10:21:22 | 显示全部楼层 |阅读模式
大家好,现在我有一个Oracle的package下的存储过程,不知道入参和返回参数怎么处理,下面是我package的包头和包体,谢谢,万分感谢!!!
create or replace package Test is
type re_para is record(
ProposalNo Varchar2(10) ,
DangerUnitNo Number ,
BeginDate Date
);
type Re_abs is record (
TtyID Varchar2(10) ,
GrsPrem number,
EndDate Date
);
Type Arr_Re_Abs is table of Re_Abs Index By BINARY_INTEGER ;
procedure prop_contract_cal(p_re_para in out re_para,
p_arr_re_abs in out Arr_Re_Abs);
end Test;
包体:
create or replace package body Test is

procedure prop_contract_cal(p_re_para in out re_para,p_arr_re_abs in out Arr_Re_Abs) is
n_cnt_arr NUMBER(4):=0;
begin
if p_re_para.ProposalNo='1' then
p_re_para.ProposalNo:='2222';
p_re_para.DangerUnitNo:=100.00;
p_re_para.BeginDate:='2006-01-01';
end if;
for n_cnt_arr in 1..p_arr_re_abs.count loop
if(p_arr_re_abs(n_cnt_arr).ttyid='2') then
p_arr_re_abs(n_cnt_arr).ttyid:='11111';
p_arr_re_abs(n_cnt_arr).GrsPrem:=3000.00;
p_arr_re_abs(n_cnt_arr).EndDate:='2006-06-01';
end if;
end loop;
end prop_contract_cal;

end Test;
回复

使用道具 举报

千问 | 2009-9-27 10:21:22 | 显示全部楼层
http://www.itpub.net/showthread. ... 6%B4%A2%B9%FD%B3%CC
回复

使用道具 举报

千问 | 2009-9-27 10:21:22 | 显示全部楼层
如果存储过程用的是包中自定的数据类型Record型的,在java中该怎样组织入参?
回复

使用道具 举报

千问 | 2009-9-27 10:21:22 | 显示全部楼层
在java中建一个同样的类
然后用setObject把这个类的变量作为参数传进去
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行