强制information_schema.tables返回按表名排序?

时间:2016-05-14 19:23:08

标签: sql sql-server information-schema

我正在尝试在ERP系统的管理工具中执行任务。该工具与容纳ERP数据的MS-Sql Server连接。任何时候我想通过ERP系统的管理工具在桌面上执行操作,它都会运行

SELECT * FROM INFORMATION_SCHEMA.TABLES

并使用构成ERP系统的所有表填充可滚动列表。问题是,这个列表没有排序,我没有能力在客户端进行排序。有3,700个(没有夸张)表。滚动浏览无序列表并找到1个表我需要平均20-30分钟,具体取决于表格在列表中的位置。

有没有人对如何强制MS-Sql Server以排序方式返回表格或按字母顺序重建表格有任何建议?

我无法修改从专有工具内部发送的查询 - 在一天结束时,它只会发送SELECT * FROM INFORMATION_SCHEMA.TABLES

那么有什么方法可以强制该查询的结果返回已排序的列表?我可以创建一个优先的视图吗?同样,查询无法更改。

1 个答案:

答案 0 :(得分:1)

来自SQL Server Books Online

  

结果集中返回行的顺序不是   保证,除非指定了ORDER BY子句。

可能不是您想要听到的答案,但这是所有符合ANSI SQL的DBMS系统运行的方式。表和视图是无序的行集,因此最外层的查询必须为结果集的确定性排序指定ORDER BY