我正在寻找一个查询,它将带回所有数据库的结果,但只有一个表存在的地方。
我已经运行了EXEC sp_MsForEachDb @command1 = 'select * from ?.dbo.users'
,但它返回了许多错误,因此对包含这些表的数据库隐藏了结果
发布于 2016-09-12 19:21:55
即使出现错误,您仍然可以访问结果选项卡
发布于 2016-09-12 19:05:06
`EXEC sp_MsForEachDb @command1 =
' use ?; if exists(select * from information_schema.tables where table_`name=''test'' )begin select * from test end'
上面的语句将隐藏所有错误,因为它首先检查表的存在。
您还可以排除系统数据库,如..
EXEC sp_MsForEachDb @command1 = ' use ?; if db_id()<=4 return if exists(select * from information_schema.tables where table_name=''test'' )begin select * from test end'
https://stackoverflow.com/questions/39448776
复制相似问题