create or replace procedure sp_timediff(fromdate varchar,todate varchar,pltcode varchar) as
plantime_jia number(12,2);
plantime_yi number(12,2);
plantime_bing number(12,2);
plantime_ding number(12,2);
actualtime_jia number(12,2);
actualtime_yi number(12,2);
actualtime_bing number(12,2);
actualtime_ding number(12,2);
begin
plantime_jia:=(select nvl(sum(nvl(plan_work_time,0)),0) from "pro" where product_date between fromdate and todate and jizu=pltcode and group_no=1 and shift_no in(1,2,3));
plantime_yi:=(select nvl(sum(nvl(plan_work_time,0)),0) from "pro" where product_date between fromdate and todate and jizu=pltcode and group_no=2 and shift_no in(1,2,3));
plantime_bing:=(select nvl(sum(nvl(plan_work_time,0)),0) from "pro" where product_date between fromdate and todate and jizu=pltcode and group_no=3 and shift_no in(1,2,3));
plantime_ding:=(select nvl(sum(nvl(plan_work_time,0)),0) from "pro" where product_date between fromdate and
insert into timediff(xiangmu,jia,yi,bing,ding,flag)values('计划作业时间',nvl(plantime_jia,0),nvl(plantime_yi,0),nvl(plantime_bing,0),nvl(plantime_ding,0),1);
insert into timediff(xiangmu,jia,yi,bing,ding,flag)values('实际作业时间',nvl(actualtime_jia,0),nvl(actualtime_yi,0),nvl(actualtime_bing,0),nvl(actualtime_ding,0),2);
insert into timediff(xiangmu,jia,yi,bing,ding,flag)values('差异',nvl(actualtime_jia,0)-nvl(plantime_jia,0),nvl(actualtime_yi,0)-nvl(plantime_yi,0),nvl(actualtime_bing,0)-nvl(plantime_bing,0),nvl(actualtime_ding,0)-nvl(plantime_ding,0),3);
end;
从第一句赋值语句开始就有问题了
[本帖最后由 vhdl74160 于 2008-6-13 10:30 编辑]