查询数据库中的所有表

时间:2011-03-24 10:11:47

标签: sql database sql-server-2005

我正在使用SQL Server 2005.我现在有一个特殊的需求。

我有一个数据库,而它又有几个表(> 50)。所有这些表都有具有条件的类似命名列。我想在数据库中的所有表中查询此列。

我没有在谷歌搜索中找到合适的解决方案。请帮帮我。

非常感谢提前:)

3 个答案:

答案 0 :(得分:0)

也许这可以帮到你?

SELECT * FROM information_schema.tables

之后,您可以遍历所有表并查询列。

答案 1 :(得分:0)

使用Kevin的建议你做这样的事情,然后执行它的输出。

DECLARE @ColumnName AS VARCHAR(20)
SET @ColumnName = 'MyColumn'

SELECT 'SELECT ' + @ColumnName + ' FROM ' + TABLE_NAME FROM information_schema.tables

答案 2 :(得分:0)

sp_msforeachtable @command1=N'SELECT ''?'', * from ? WHERE yourcol=''whatever'''

上面将对所选数据库中的每个表运行查询,并打印tablename +表中的每一列以满足条件。如果它到达具有无效列的表,它将继续(但打印错误消息)。