none
请问怎么在一个数据库查询另外一个数据库的表是否存在? RRS feed

  • 问题

  • 我想用sys.tables,结果好像只能查询本库的。

    我的函数在一个数据库,存储过程在另外一个库,想在函数中返回存储过程库中存在的表

    请问各位怎么实现在一个数据库查询另外一个数据库的表是否存在,谢谢

    2017年9月12日 3:21

答案

  • Hi Tim-2009,

    您好!您可以这样查询其它库的表,示例代码如下:

    select * from 库名.sys.tables  where name='表名'

    或者,您可以是使用 sys.all_objects 视图来实现你的需求:

    select * from sys.all_objects where name='表名' AND type='U'

    Best Regards,

    Will


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 Tim-2009 2017年9月12日 6:23
    2017年9月12日 4:45

全部回复

  • Hi Tim-2009,

    您好!您可以这样查询其它库的表,示例代码如下:

    select * from 库名.sys.tables  where name='表名'

    或者,您可以是使用 sys.all_objects 视图来实现你的需求:

    select * from sys.all_objects where name='表名' AND type='U'

    Best Regards,

    Will


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 Tim-2009 2017年9月12日 6:23
    2017年9月12日 4:45
  • Hi Tim-2009,

    您好!您可以这样查询其它库的表,示例代码如下:

    select * from 库名.sys.tables  where name='表名'

    或者,您可以是使用 sys.all_objects 视图来实现你的需求:

    select * from sys.all_objects where name='表名' AND type='U'

    Best Regards,

    Will


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    谢谢了!

    • 已编辑 Tim-2009 2017年9月12日 6:23 写错了
    2017年9月12日 5:45
  • if object_id('库名.架构名.表名') is not null print '存在'

    至于跨库查询的方法提示 对象名 'MODEL.sys.tables' 无效 的问题,检查你登录的帐号是否有权限,并且确定是指定了正确的库名

    没权限的话,object_id 的方法也是判断不到的

    2017年9月12日 6:14
  • if object_id('库名.架构名.表名') is not null print '存在'

    至于跨库查询的方法提示 对象名 'MODEL.sys.tables' 无效 的问题,检查你登录的帐号是否有权限,并且确定是指定了正确的库名

    没权限的话,object_id 的方法也是判断不到的

    谢谢!
    2017年9月14日 0:35