查询来自多个数据库的数据

时间:2014-07-04 11:22:07

标签: sql sql-server

我每天都会在系统中添加动态数据库。

名称始终遵循以下模式:

NAME_YYYYMMDD1200

并且里面的表是相同的。

如何在过去5天的数据库中查询[SELECT语句] myTable的所有列?

例如,如果今天是10-OCT-2013,我会查询这些数据库的myTable的所有列:

NAME_201310101200
NAME_201310091200
NAME_201310081200
NAME_201310071200
NAME_201310061200

我尝试SELECT * FROM NAME_*.myTable,但它无法发挥作用。

如何动态/动态构建[SELECT]查询数据库名称?

谢谢,

1 个答案:

答案 0 :(得分:3)

您可以在每个数据库sp_msForEachDb中执行查询。

您可以像这样过滤数据库:

EXEC sp_MSforeachdb
@command1='IF ''?''
IN (''AdventureWorks2012'',''AdventureWorks2012_test'')
BEGIN
       select * from [?].sys.schemas
END'