create or replace function check(
v_s_date in DATE,
v_amount in NUMBER,
v_start_date in DATE,
v_req_no in NUMBER,
v_end_date in DATE
) Return char is Result char(100);
total_get number(12,4); --已到款总金额
tproj_amt number(12,4);--批准金额
vamount number(12,4);--本次到款总金额
Begin
--请自行编辑函数体
Result :='pass';
vamount:=v_amount*10000;
if rtrim(v_req_no) is null then
Result :='请选择一个项目';
Return Result;
end if;
if rtrim(v_req_no) is not null then
select sum(amount) into total_get from prj_income
where trim(req_no)=trim(v_req_no);
select proj_amt into tproj_amt from proj_info_h
where trim(req_no)=trim(v_req_no);
if total_get>=tproj_amt then
Result :='此项目所有款项已到';
Return Result;
end if;
if (total_get+vamount)>tproj_amt or vamount > tproj_amt then
Result :='到款总额不能超过项目批准金额';
Return Result;
end if;
end if;
--到款日期不能超过项目结束日期,不能早于项目开始日期
if v_s_date>v_end_date then
Result :='到款日期不能超过项目结束日期';
Return Result;
end if;
if v_s_date<v_start_date then
Result :='到款日期不能早于项目开始日期';
Return Result;
end if;
Return Result;
End;