如何自动循环清除每个表中被恶意注入的代码

怎么自动循环清除每个表中被恶意注入的代码
在数据库表的尾部被恶意注入代码类似于“12<div style="display:none">*****”,在论坛搜索 找到清除方法
UPDATE  表名
SET           字段名= LEFT(字段名, CHARINDEX('<div style="display:none">', 字段名) - 1)
WHERE   (字段名 LIKE '%<div style="display:none">%')
现在的问题是表太多,表中的字段也很多 ,请问大神们怎么用循环 批量替换数据库表中 含有“<div style="display:none">”的所有字段?请赐教!
------解决思路----------------------
declare @sql varchar(max)
set @sql=''

select top 1000 @sql=@sql+'
update '+b.name+' set '+a.name+'=left('+a.name+',charindex(''<div style="display:none">'','+a.name+')-1)
where '+a.name+' like ''%<div style="display:none">%''
' from sys.columns a
inner join sys.tables b on a.object_id=b.object_id
where b.name in ('表1','表2')
group by b.name,a.name

print @sql



用这个可以批量生成sql语句