AS
-- 游标
CURSOR my_cursor is select NEWID() as ROW_GUID ,CorpCode , CorpName ,CityNum ,CountyNum , iscitycorp
from
(select
distinct (TBCorpBasicInfo.CorpName) as CorpName,
TBCorpBasicInfo.ID as ID,
TBCorpBasicInfo.ROW_GUID as ROW_GUID,
TBCorpBasicInfo.CorpCode as CorpCode,
TBCorpBasicInfo.CityNum as CityNum,
TBCorpBasicInfo.CountyNum as CountyNum,
TBCorpBasicInfo.isoutzj AS isoutzj,
TBCorpBasicInfo.linkMan,
TBCorpBasicInfo.linkphone,
TBCorpBasicInfo.finmanname,
TBCorpBasicInfo.finmantel,
TBCORPBASICINFO.iscitycorp
from TBCorpBasicInfo TBCorpBasicInfo
inner join TBCorpcertinfo on TBCorpcertinfo.ToRowGuid = TBCorpBasicInfo.ROW_GUID
left join TBCorpCertDetailInfo on TBCorpcertinfo.ROW_GUID=TBCorpCertDetailInfo.RECORDGUID
where TBCorpcertinfo.CertTypeNum = 3 and TBCorpBasicInfo.ProvinceNum=330000 and TBCorpcertinfo.CertID not like '%C%'
and TitleLevelNum in (31,32) and CityNum is not null
) as b ;
-- 定义参数
month_max_key int ; row_guid varchar(100);max_key int ;corpcoded varchar(100); corp_name varchar(100); citynum varchar(100); CountyNum varchar(100); iscitycorp varchar(100);
quarter_max_key_3 int ;quarter_max_key_4 int ; quarter_max_key_5 int ;year_max_key1 int ; year_max_key2 int ;
xqhte_by_b varchar(38);jzyzcz_by_b varchar(38);jwwcyysr_by_b varchar(38);fwjzsgmj_by_b varchar(38); xkgmj_by_b varchar(38);qmrs_by_b varchar(38);gzze_by_b varchar(38);
sql1 varchar(5000);
BEGIN
--打开游标
OPEN my_cursor;
loop
--取出数据
FETCH my_cursor into row_guid , corpcoded ,corp_name , citynum ,CountyNum , iscitycorp ;
select max(PROCESS_ID) + 1 into max_key from tb_company_process_info ;
exit when my_cursor%notfound ;
/**if process_type = 2 then **/
--查出maxkey
select max(pro_id) + 1 into month_max_key from tb_company_province_monthly ;
select xqhte_by,jzyzcz_by,jwwcyysr_by,fwjzsgmj_by,xkgmj_by,qmrs_by,gzze_by into
xqhte_by_b,jzyzcz_by_b,jwwcyysr_by_b,fwjzsgmj_by_b,xkgmj_by_b,qmrs_by_b,gzze_by_b
from tb_company_month_dr where "year" = year_par and "month" = month_par
and corp_code = corpcoded limit 1;
--新增 tb_company_process_info表数据
INSERT tb_company_process_info
(ROW_GUID , PROCESS_ID , corp_CODE ,corp_name , process_type , province_num , city_num ,county_num ,process_status ,process_month , apply_status , corp_city_type , process_year,SF_BLSJ)
values (row_guid , max_key ,corpcoded,corp_name,process_type,'330000',citynum, CountyNum, '0' ,month_par , '2' ,iscitycorp ,year_par ,'1');
--新增 tb_company_province_monthly表数据
insert tb_company_province_monthly
(pro_id , corp_code ,corp_name , to_row_guid ,xzqh_num ,xqhte_by,jzyzcz_by,jwwcyysr_by,fwjzsgmj_by,xkgmj_by,qmrs_by,gzze_by)
values (month_max_key , corpcoded ,corp_name ,row_guid,CountyNum,xqhte_by_b,jzyzcz_by_b,jwwcyysr_by_b,fwjzsgmj_by_b,xkgmj_by_b,qmrs_by_b,gzze_by_b);
/**elseif process_type = 1 then
--查出maxkey
select max(paidin_id) + 1 into year_max_key1 from tb_company_paidin_capital ;
select max(annual_id) + 1 into year_max_key2 from tb_company_annual_info ;
--新增 tb_company_process_info表数据
INSERT tb_company_process_info
(ROW_GUID , PROCESS_ID , corp_CODE ,corp_name , process_type , province_num , city_num ,county_num ,process_status ,process_month , apply_status , corp_city_type , process_year ,SF_BLSJ)
values (row_guid , max_key ,corp_code,corp_name,process_type,'330000',citynum, CountyNum, '0' ,null , '2' ,iscitycorp ,year_par,'1' );
--新增tb_company_annual_info表
insert tb_company_annual_info
(annual_id , corp_code ,corp_name,cty_xzqhdm , province_num , city_num ,county_num , to_row_guid)
values (year_max_key2 ,corp_code,corp_name, CountyNum , '330000',citynum, CountyNum,row_guid );
--新增tb_company_paidin_capital表
insert tb_company_paidin_capital
(paidin_id ,proce_guid)
values (year_max_key1 , row_guid);
end if;**/
end loop;
CLOSE my_cursor;
commit;
END;
当我给游标指定了where一条时调试就可以查出数据
多条时报错!