首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >是否可以跨多个服务器进行查询,但仅包含某些数据库?

是否可以跨多个服务器进行查询,但仅包含某些数据库?
EN

Stack Overflow用户
提问于 2014-01-08 08:50:21
回答 1查看 97关注 0票数 1

我有3个要查询的SQL服务器,但我只想查询某些数据库。这是可能的吗?我已经将它们设置为注册服务器,并且我可以跨它们查询系统类型的查询,但是,如果我希望查询类似于

代码语言:javascript
代码运行次数:0
运行
复制
SELECT * FROM SJOB

我不能,因为不是每个数据库都有这个表,所以它失败了。任何帮助都将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-01-08 08:54:22

您可以查询sys.tables视图以检查该表是否存在:

代码语言:javascript
代码运行次数:0
运行
复制
if exists(select * from sys.tables where type = 'U' and name = 'SJOB')
select * from SJOB

要在已注册的servers组上使用该表,还需要为不存在该表的服务器编写一个select查询。模式需要匹配,但您可以使用top 0不返回任何记录。但是,您需要指定所有列,并且虚拟值需要与列的类型匹配:

代码语言:javascript
代码运行次数:0
运行
复制
if exists(select * from sys.tables where type = 'U' and name = 'SJOB')
    select * from SJOB
else
    select top 0 1 as col1name, '' as col2name
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20985026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档