oracle “调用存储过程失败”!!!急
Josir 2009-03-06 03:31:24 create or replace procedure pr_importwatadata(par_year char,par_period char) is
begin
delete from xh_watadata;
insert into xh_watadata
(
cyear,
cperiod,
pk_deptdoc,
deptcode,
deptname,
psnid,
psncode,
psnname,
f_16,
f_17,
f_21
)
select
a.cyear,
a.cperiod,
c.pk_deptdoc,
c.deptcode,
c.deptname,
a.psnid,
b.psncode,
b.psnname,
d.jobname , --职务系数,后改成岗位
a.f_59 , --系数
a.f_21 --日工资
from wa_data a left join bd_psndoc b on a.psnid = b.pk_psndoc left join bd_deptdoc c on c.pk_deptdoc = b.pk_deptdoc left join om_job d on a.pk_om_job=d.pk_om_job
where
a.cyear = par_year and
a.cperiod = par_period and
a.classid = (select pk_wa_class from wa_waclass where vwaclassname='工资') and
a.dr = 0 and
b.psnclscope = 0 and
b.dr=0
order by
c.deptcode,
b.psncode;
end pr_importwatadata;
调用该存储过程报如下错误:传入的参数为:'2004' 、 '01'
java.rmi.RemoteException: 调用存储过程[NCHR.pr_importwatadata('1','2')]失败,失败原因:ORA-06550: 第 1 行, 第 12 列:
PLS-00225: 子程序或游标 'NCHR' 引用超出范围
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
使用到的建库脚本:
CREATE TABLE xh_watadata
(
cyear char(4),
cperiod CHAR(2),
pk_deptdoc CHAR(20),
deptcode varchar2(25),
deptname varchar2(25),
psnid char(20),
psncode varchar2(25),
psnname varchar2(25),
f_16 varchar2(100),
f_17 number(13,2),
f_21 number(13,2)
);