TSQL(SQL Server)使用语句双游标循环多表操作

2016-12-13 08:12:50来源:CSDN作者:hx7013人点击

先说需求吧,需要把A表中数据的X1列同步到B1111、B2222、B3333….表中,条件为A表分别与其它表的X2列相等,但B表的数字为不确定,表编号存放在C表。

大概流程如下:
x024

解决方案SQL语句

declare @EntInfo varchar(50),@ModuleInfo varchar(100),@ValInfo varchar(100) declare @tempEntInfo varchar(100),@xSQL varchar(200)declare Ent_Cu cursor forselect TABLEID from Copen Ent_Cu fetch next from Ent_Cu into @EntInfo while(@@fetch_status=0)beginset @tempEntInfo = 'B'+@EntInfo        --开始查询列名并存储        declare Moudle_Cu cursor for         select X1,X2 from A        open Moudle_Cu         fetch next from Moudle_Cu into @ValInfo,@ModuleInfo        while(@@fetch_status=0)        begin        set @xSQL ='update '+REPLACE(@tempEntInfo,' ','')+ ' set ModuleMobileIcon='''+@ValInfo+ ''' where ModuleTitle='''+@ModuleInfo+''''        print (@xSQL)         exec(@xSQL)        fetch next from Moudle_Cu into @ValInfo,@ModuleInfo        end        close Moudle_Cu        deallocate Moudle_Cu fetch next from Ent_Cu into @EntInfo endclose Ent_Cudeallocate Ent_Cu 

游标那应该可以直接查询一次,后面直接初始化再来次(不是专业的数据库管理,没有再深研究),感谢阅读。

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台