sql-server - 如何查询 SQL Server 数据库中的完整表名列表

标签 sql-server sql-server-2008

我需要迭代数据库中的所有表。我正在使用以下查询来执行此操作:

SELECT so.name, so.*
FROM sysobjects so
WHERE so.xtype = 'U'

这适用于“dbo”架构中的所有表,但不适用于任何其他架构。我希望输出是这样的:

用户.地址 用户.电话号码 dbo.全局设置 dbo.配置

相反,我得到了这个:

地址 电话号码 全局设置 配置

当我尝试构建动态 SQL 查询时,它失败了,因为它找不到 Address 和 TelephoneNumber 表,因为它们的架构不是默认的“dbo”。

有什么想法吗?

最佳答案

怎么样:

Select Schema_Name + '.' + Table_Name from Information_Schema.Tables

关于sql-server - 如何查询 SQL Server 数据库中的完整表名列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1876724/

相关文章:

sql - 左连接最大/顶部

SQL Server 2008 - 搜索查询

java - 为什么我会收到此错误 : E/ERROR: The executeQuery method must return a result set. ?

SQL 来识别缺失的星期

sql - 'cluster'在聚集索引中意味着什么?

sql-server - 窗口函数的参数应该是分区常量?

sql-server - 如何创建多表检查约束?

sql-server - SQL Server 2008 复制(避免重新初始化)

java - Microsoft SQL 和 JDBC 中 Prepared Statements 中奇数位置的参数

excel - BCP queryout -w 生成错误的 CSV 文件