mssql搜索多个数据库中的所有表中的所有内容

mssql数据库
db_1 数据库1
db_2 数据库2
.....
db_10 数据库10

这10个库中的表都是一样结构,如:
table_1 表1
table_2 表2
...
table_10 表10

id,name,con 这是每个表的结构

怎么搜索 name=xx 的所有内容?????

给你个办法,但只能一个库一个库执行,每次执行完把语句用到下一个库里就可以

分几步操作

第一部,建立一个存储你得到的结果的表

比如你表名都是以table开头的话

先建立结果表

select * into result from table_1 where 1=0 --这是建立一个空表

然后执行以下过程

DECLARE c_cursor CURSOR FOR  
Select name From sysobjects where name like 'table%' order by name  
DECLARE @tablename varchar(100)  
DECLARE @sql varchar(max)
OPEN c_cursor  
FETCH NEXT FROM c_cursor into @tablename
WHILE @@FETCH_STATUS = 0  
BEGIN  
   set @sql='insert into result select * from ' + @tablename + ' where col=''xx'''--xx就是你要查的名字,可自己替换,其他地方就不要改啦  
exec (@sql)  
   FETCH NEXT FROM c_cursor into @tablename  
END  
CLOSE c_cursor  
DEALLOCATE c_cursor

执行完后,查看结果

select * from result
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-30
select * from db_1.dbo.table_1 where name=xx
union all
select * from db_2.dbo.table_2 where name=xx
union all
select * from db_3.dbo.table_3 where name=xx 
uinon all
...........
union all
select * from db_10.dbo.table_10 where name=xx

追问

我这是10个数据库,每个库中有10个表

追答

一样连下来嘛,查询语句用Excel处理下就好了

相似回答