求大神帮忙添加数据库存储过程条件

nick849779125 2015-06-01 10:36:18
在已有的存储过程中
create or replace procedure p_sjm_p2
as
date_id varchar(10);
str varchar(1024);
v_cdr number(10);
v_date varchar2(10);

cursor sjm_cur is select distinct substr(switch_id,1,3 ) switchid_name from sjm_to_f1_sett_hq;
cursor date_cur is
SELECT to_char(sysdate-1, 'yyyymmdd') dayname from dual union
SELECT to_char(sysdate-2, 'yyyymmdd') dayname from dual union
SELECT to_char(sysdate-3, 'yyyymmdd') dayname from dual union
SELECT to_char(sysdate-4, 'yyyymmdd') dayname from dual union
SELECT to_char(sysdate-5, 'yyyymmdd') dayname from dual union
SELECT to_char(sysdate-6, 'yyyymmdd') dayname from dual union
SELECT to_char(sysdate-7, 'yyyymmdd') dayname from dual union
SELECT to_char(sysdate-8, 'yyyymmdd') dayname from dual union
SELECT to_char(sysdate-9, 'yyyymmdd') dayname from dual union
SELECT to_char(sysdate-10, 'yyyymmdd') dayname from dual;

begin
date_id:=to_char(sysdate,'yyyymmdd');
delete from sjm_tmp2;
commit;

for SWITCHid in sjm_cur loop

for date_id in date_cur loop

str:='insert into sjm_tmp2(switch_id,date_id,num_cdr)
select '||SWITCHid.Switchid_Name||','||date_id.dayname||',
sum(num_cdr)
from sjm_to_f1_sett_hq where switch_id like '||chr(39)||SWITCHid.Switchid_Name||'%'||chr(39)||' and year_id=substr('||chr(39)||date_id.dayname||chr(39)||',1,4)
and month_id=substr('||chr(39)||date_id.dayname||chr(39)||',5,2) and day_id=substr('||chr(39)||date_id.dayname||chr(39)||',7,2)';
insert into pro_xq (sql) values(str);--test
commit;
begin
EXECUTE IMMEDIATE str;
commit;
exception
when others then
rollback;
end;

END LOOP ;

END LOOP;

for SWITCHid in sjm_cur loop

for date_id in date_cur loop

v_date:=to_char(sysdate-10,'YYYYMMDD');
if date_id.dayname=v_date then
str:='update sjm_tmp2 set cha_cdr=null,chayi_cdr=null where switch_id='||SWITCHid.Switchid_Name||' and date_id='||date_id.dayname;
insert into pro_xq (sql) values(str); --test
commit;
else

select num_cdr into v_cdr from sjm_tmp2 where date_id=to_char(to_date(date_id.dayname,'yyyymmdd')-1,'yyyymmdd')and switch_id=SWITCHid.Switchid_Name;
str:='update sjm_tmp2 set cha_cdr=num_cdr-'||v_cdr||',chayi_cdr=(round((num_cdr-'||v_cdr||')/num_cdr,2) * 100) ||'||chr(39)||'%'||chr(39)||'
where date_id='||date_id.dayname||' and switch_id='||SWITCHid.Switchid_Name;

insert into pro_xq (sql) values(str); --test
commit;
begin
EXECUTE IMMEDIATE str;
commit;
exception
when others then
rollback;
end;
end if;
END LOOP ;
END LOOP;
END;

加一个条件 ,
select day_id,sum(num_cdr) from sjm_to_f1_sett_hq
where called_area_code in(select area_code from zhjs_param.s_area

where prov_code in(select prov_code from zhjs_param.tp_province where prov_name in ('河北','河南','黑龙江','天津','吉林','辽宁','内蒙','山东','山西')))

and calling_area_code=573
and year_id=2015
and month_id=5
group by day_id
order by day_id;
...全文
134 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

4,017

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧