日期:2014-05-18  浏览次数:20735 次

批量执行多条SQL语句的问题
动态生成的几千条SQL语句,并且已经把它们存放在临时表的某个字段里了,接下来要把这些语句都执行了,请问怎么做最高效?
把它们倒进文件里BCP?或者exec   SQL1+SQL2+SQL3....?或者别的方法?

------解决方案--------------------
循环exec 执行

------解决方案--------------------
declare @str varchar(8000)
set @str= ' '
select @str=@str+ 'exec( '+字段名 + ') '+char(10) from 表名
exec(@str)
------解决方案--------------------

declare @s varchar(8000)
declare @sql varchar(8000)
declare @i int
select @s = @s + col + '| '
from #


set @i = 1
while @i <> 0
begin
select @sql = substring( @s , i , charindex(@s , @i, '| ') - 1 )
exec(@sql)
set @i = charindex(@s , @i, '| ')
if @i <> 0 set @i = @i + 1
end