注册

存储过程内变量赋值的问题

旺旺崔崔冰 2023/07/21 824 0

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一条时调试就可以查出数据
多条时报错!
微信截图_20230721154354.png微信截图_20230721154404.png

回答 0
暂无回答
扫一扫
联系客服