报错说调用存储过程中参数个数或类型不匹配
在第一行,15列
请问试那里不对呀?
CREATE or replace PROCEDURE wa_jx_real
(lluserid in char,
waterreal out char)
AS
oldcopydate1 date;
oldcopydate2 date;
oldcopydate3 date;
llwaterreal1 char;
llwaterreal2 char;
llwaterreal3 char;
newcopydate date;
llreal number;
llreal1 number;
llreal2 number;
llreal3 number;
Begin select to_date(inputdate)
into newcopydate
from copydate; select tb1.copydate
into oldcopydate1
from (select copydate from waterpay where userid=lluserid ORDER BY year DESC, UseMonth DESC) tb1
where rownum<=1; select sum(to_number(tb1.waterreal))
into llreal
from (select waterreal from waterpay where userid=lluserid order by year desc, usemonth desc) tb1
where rownum<=3; select tb1.copydate
into oldcopydate3
from (select rownum rn,copydate,waterreal,year,usemonth,userid from waterpay where userid=lluserid ORDER BY year DESC, UseMonth DESC) tb1
where tb1.rn=3; llreal1:=llreal/(to_date(oldcopydate1) - to_date(oldcopydate3) + 1);
llreal2:=llreal1*(to_date(newcopydate)-to_date(oldcopydate1));
waterreal:=to_char(round(llreal2));
waterreal:=nvl(waterreal,0);
end;
我在pb9中是这样调用的
DECLARE wa_jx_real PROCEDURE FOR wa_jx_real(:lluserid,:llwaterreal);
as_sql = 'Execute wa_jx_real'
Execute IMMEDIATE :as_sql;
IF sqlca.sqlcode <> 0 Then
messagebox("dfd",sqlca.sqlerrtext)
Return
End IF
在第一行,15列
请问试那里不对呀?
CREATE or replace PROCEDURE wa_jx_real
(lluserid in char,
waterreal out char)
AS
oldcopydate1 date;
oldcopydate2 date;
oldcopydate3 date;
llwaterreal1 char;
llwaterreal2 char;
llwaterreal3 char;
newcopydate date;
llreal number;
llreal1 number;
llreal2 number;
llreal3 number;
Begin select to_date(inputdate)
into newcopydate
from copydate; select tb1.copydate
into oldcopydate1
from (select copydate from waterpay where userid=lluserid ORDER BY year DESC, UseMonth DESC) tb1
where rownum<=1; select sum(to_number(tb1.waterreal))
into llreal
from (select waterreal from waterpay where userid=lluserid order by year desc, usemonth desc) tb1
where rownum<=3; select tb1.copydate
into oldcopydate3
from (select rownum rn,copydate,waterreal,year,usemonth,userid from waterpay where userid=lluserid ORDER BY year DESC, UseMonth DESC) tb1
where tb1.rn=3; llreal1:=llreal/(to_date(oldcopydate1) - to_date(oldcopydate3) + 1);
llreal2:=llreal1*(to_date(newcopydate)-to_date(oldcopydate1));
waterreal:=to_char(round(llreal2));
waterreal:=nvl(waterreal,0);
end;
我在pb9中是这样调用的
DECLARE wa_jx_real PROCEDURE FOR wa_jx_real(:lluserid,:llwaterreal);
as_sql = 'Execute wa_jx_real'
Execute IMMEDIATE :as_sql;
IF sqlca.sqlcode <> 0 Then
messagebox("dfd",sqlca.sqlerrtext)
Return
End IF
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货