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

求助:使用SQL 循环地从不同的数据库中抽取数据 的 语句
在数据库中有很多实例,现在希望把每个实例中的数据,抽取insert into进一个表中。
已经建了一个实例表table1,即该表中有一个字段是所有实例的名称。
现在希望使用一条循环语句,每次到table1中查找实例名称,然后放在循环体的from [实例名称].dbo.table中(替代[实例名称])。

求助高手!

------解决方案--------------------
使用游标可能解决,具体你可以语句你可以查看SQL帮助。
------解决方案--------------------
SQL code

declare @sql varchar(8000)

set @sql=''

select @sql=@sql+' union all select * from ['+实例名称+'].dbo.table' from table1

set @sql=stuff(@sql,1,11,'')

exec(@sql)

------解决方案--------------------
没那么容易, 想用@instance来表示数据库名, 只有在动态SQL里才能实现.