SQL SERVER临时表排序问题的解决方法

 更新时间:2021年01月19日 09:28:41   作者:潇湘隐者  
这篇文章主要给大家介绍了关于SQL SERVER临时表排序问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在SQL SERVER 2005/2008中,如果将有序的记录插入临时表,则从临时表查询出来的记录是有序的(不依赖ORDER BY也是有序状态),但是从SQL SERVER 2012开始,即使插入的记录集有序,查询出来的结果变成无序了。需要依赖ORDER BY来或得到一个有序结果。例如下面例子:

SELECT * INTO #tables FROM sys.tables ORDER BY name;
 
SELECT * FROM #tables;

如上所示,SQL SERVER 2014则是无序状态,我很是奇怪怎么从SQL SERVER 2012就开始变成无序了,这对我们来说犹如一个黑盒子,只知道结果集出现了变化,但是不知道内部啥变化导致这个现象出现。Records not sorted in the table when using ORDER BY clause to insert data into Temp Table 官方论坛对这个问题的描述如下:

如果有特殊的需要,要求临时表里面的数据有序,则可以通过创建聚集索引来解决这个问题。如下所示:

SELECT * INTO #tables FROM sys.tables WHERE 1= 0;
 
CREATE CLUSTERED INDEX IDX_#tables_NAME ON #tables(name);
 
INSERT INTO #tables SELECT * FROM sys.tables ORDER BY name;
 
SELECT * FROM #tables;


总结

到此这篇关于SQL SERVER临时表排序问题解决的文章就介绍到这了,更多相关SQL SERVER临时表排序问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • sql的临时表使用小结

    sql的临时表使用小结

    这篇文章主要介绍了sql的临时表使用小结,需要的朋友可以参考下
    2015-11-11
  • SQL Server 实现数字辅助表实例代码

    SQL Server 实现数字辅助表实例代码

    这篇文章主要介绍了SQL Server 实现数字辅助表的相关资料,并附实例代码,需要的朋友可以参考下
    2016-10-10
  • SQL Server无日志恢复数据库(2种方法)

    SQL Server无日志恢复数据库(2种方法)

    SQL Server数据库中的日志文件可能会由于一些突发事件或者失误造成丢失的严重后果,大家都知道,SQL Server数据库中日志文件是很重要的,所以要及时的将丢失的日志文件给找回来。下文就为大家介绍一种恢复数据库日志文件的方法。
    2015-08-08
  • 大容量csv快速内导入sqlserver的解决方法(推荐)

    大容量csv快速内导入sqlserver的解决方法(推荐)

    最近遇到这样的问题:导入csv 数据,并对导入的数据增加一个新的列date datetime,下面通过本文给大家分享大容量csv快速内导入sqlserver的解决方法,感兴趣的朋友一起看看吧
    2017-07-07
  • SQl Function 创建函数实例介绍

    SQl Function 创建函数实例介绍

    这篇文章主要介绍了SQl Function 创建函数实例介绍,需要的朋友可以参考下
    2016-10-10
  • sql server字符串非空判断实现方法

    sql server字符串非空判断实现方法

    在使用sql server过程中会遇到非空判断,本文将详细介绍sql server字符串非空判断实现方法,需要了解的朋友可以参考下
    2012-12-12
  • 图文教程mssqlserver数据库导出到另外一个数据库的方法

    图文教程mssqlserver数据库导出到另外一个数据库的方法

    本篇文章通过图片并茂的方式给大家介绍mssqlserver数据库导出到另外一个数据库的方法,对mssqlserver数据库导出相关知识感兴趣的朋友一起学习吧
    2015-12-12
  • 某年第一周开始日期实现方法

    某年第一周开始日期实现方法

    你想获取某一年份第一周开始的日期,Insus.NET给你的答案,可以参考使用下面这个函数
    2012-01-01
  • SQL DCL数据控制语言的使用

    SQL DCL数据控制语言的使用

    本文主要介绍了SQL DCL数据控制语言的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 学会sql数据库关系图(Petshop)

    学会sql数据库关系图(Petshop)

    花了这么多时间最终还是回到了数据库,但是数据库中一张一张的表格找不到脚本,也不是自己设计的数据库,完全没有一点头绪,后来突然想起来sql有个数据库关系图,可以很快的适合数据库程序员很快的掌握数据库表之间的关系
    2012-08-08

最新评论