知道使用
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'
要查询表列表,我目前找不到仅检索非系统表列表的方法。
即上面的查询还列出了我的系统表,如“sysdiagrams”或“dtproperties”。
所以我的问题是:
如何查询数据库是否存在任何用户表?
知道使用
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'
要查询表列表,我目前找不到仅检索非系统表列表的方法。
即上面的查询还列出了我的系统表,如“sysdiagrams”或“dtproperties”。
所以我的问题是:
如何查询数据库是否存在任何用户表?
sys.tables 中的以下内容将起作用。is_ms_shipped 定义对象是否是 Microsoft 表,但是 sys.tables 应该只包含用户定义的表
要从列表中排除系统图,这是我在这个论坛上从 Aaron Bertrand 那里借来的东西
您还可以在 Stack Overflow 上查看此答案