1

如何获取数据库列表?如果有表“test_table”,则选择数据库。

我现在不知道如何设置条件

SELECT * FROM master.dbo.sysdatabases
4

1 回答 1

4

您可以构建一个动态查询来检查每个数据库中的 sys.tables。

declare @S1 nvarchar(max)
declare @S2 nvarchar(max)

set @S2 = ' union all select ''[DBNAME]'' from [DBNAME].sys.tables where name = ''test_table'''

select @S1 = stuff((select replace(@S2, '[DBNAME]',  quotename(name))
                    from master.dbo.sysdatabases
                    for xml path('')), 1, 11, '')

exec (@S1)
于 2013-05-07T10:46:31.617 回答