存储过程一般格式

create or replace procedure sPro_CalculatePlanResult
(ps_YMD             in varchar2,  --日期
 pi_ModeID          in integer,   --方案编号
 pi_Result          out integer,  --结果标识
 ps_Message         out varchar2  --计算结果信息
 )
 /*===============================================
标题 sPro_CalculatePlantResult
功能 根据保存的计划方案结果,计算相关统计量
参数
作者 xx 2008-09-17  
===============================================*/

--With Encryption
As  
  vs_Sql            varchar2(2000);
  vi_point          integer;
  --vi_PlantID        integer;
  --vi_CapacityTypeID integer;
  --vs_YMD            varchar2(8);
Begin
  pi_Result:=-1;
  ps_Message:='计算发电计划结果出错...';
 
  /*=================1全网计划出力信息表=================*/
  --计算系统各点平均煤耗率,平均电价,机组平均负荷率
 
  --1根据燃煤机组电量计算平均煤耗率
  for vi_Point in 0..95
  loop
   
      select 'update TB_FORE_SYSTEM_INFO '
            ||'set  AvgMeiHao=SumMeiHao*1000/(select sum('||FieldName||') Firedayenergy from TB_FORE_UNIT_POWER a,tb_Bas_unit b'
            ||'    where a.unitid=b.id and b.typeid=1 '
            ||'    and a.ymd='||ps_YMD||' and modeid='||pi_ModeID||' and type=9)'
   
            ||' where ymd='||ps_YMD||' and modeid='||pi_ModeID||' and Power>0 and type=9 and point='||vi_Point

           into vs_Sql from tb_Bas_point where periodid=vi_Point;
     
      execute immediate(vs_sql);
     
  end loop;
 

  update TB_FORE_SYSTEM_INFO a
    set  AvgPrice=Cost*10000/Power
  where ymd=ps_YMD and modeid=pi_ModeID and Power>0 and type=9;
 
  update TB_FORE_SYSTEM_INFO a
    set AvgRate=Power/RunCapacity
  where ymd=ps_YMD and modeid=pi_ModeID and RunCapacity>0 and type=9;
 

 
/*=================退出=================*/
  pi_Result:=1;
  ps_Message:='计算发电计划结果成功';
  return;
 
exception when others then
begin
  pi_Result:=-1;
  ps_Message:='计算发电计划结果出错:'||sqlerrm;
  return;
end;

end sPro_CalculatePlanResult;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值