SELECT * INTO 在 SQL Server 2008 中保留 ORDER BY,但在 2012 中不保留

2023-11-22

在2008年和2012年执行以下SQL。在2008年执行时,返回的结果是正确的排序顺序。 2012 年,排序顺序不再保留。

这是已知的变化吗? 2012 年是否有保留排序顺序的解决方法?

CREATE TABLE #MyTable(Name VARCHAR(50), SortOrder INT)
INSERT INTO #MyTable SELECT 'b', 2 UNION ALL SELECT 'c', 3 UNION ALL SELECT 'a', 1 UNION ALL SELECT 'e', 5 UNION ALL SELECT 'd', 4

SELECT * INTO #Result FROM #MyTable ORDER BY SortOrder

SELECT * FROM #Result

DROP TABLE #MyTable
DROP TABLE #Result

如何通过使用来判断表内的顺序select * from #result?不保证订单的顺序select query.

但是,在 SQL Fiddle 上结果不同。如果要保证结果相同,那就添加主键。然后保证插入顺序:

CREATE TABLE MyTable(Name VARCHAR(50), SortOrder INT)
INSERT INTO MyTable SELECT 'b', 2 UNION ALL SELECT 'c', 3 UNION ALL SELECT 'a', 1 UNION ALL SELECT 'e', 5 UNION ALL SELECT 'd', 4


select top 0 * into result from MyTable;

alter table Result add id int identity(1, 1) primary key;

insert into Result(name, sortorder)
    SELECT * FROM MyTable
    ORDER BY SortOrder;

我仍然厌恶做select * from Result在这之后。但是,是的,它确实在 SQL Server 2008 和 2012 中以正确的顺序返回它们。不仅如此,因为 SQL Server 保证主键以正确的顺序插入,所以甚至保证记录以正确的顺序插入。这个案例。

但 。 。 。仅仅因为记录在页面上按特定顺序排列并不意味着它们将按该顺序检索,而无需任何操作。order by clause.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SELECT * INTO 在 SQL Server 2008 中保留 ORDER BY,但在 2012 中不保留 的相关文章

  • 在 PL/SQL 中将绑定变量与动态 SELECT INTO 子句结合使用

    我有一个关于 PL SQL 中的动态 SQL 语句中可以使用绑定变量的问题 例如 我知道这是有效的 CREATE OR REPLACE FUNCTION get num of employees p loc VARCHAR2 p job V
  • SQL 错误:“没有这样的表”

    我试图解决为什么我的代码为所有查询返回 null 的原因 最后发现 sql 查询什么也没有返回 我使用简约代码创建了一个新的 AIR 文档 s WindowedApplication
  • 在单个 select 语句中多次有条件地求和同一列?

    我有一个表 显示每个月在给定位置的各种类型的部署的员工部署情况 ID Location ID Date NumEmployees DeploymentType ID 例如 一些记录可能是 1 L1 12 2010 7 1 Permanent
  • MySQL“LIKE”搜索不起作用

    我通过 LOAD DATA INFILE 在 MySQL 中导入了一个 txt 数据库 一切似乎都正常 唯一的问题是 如果我使用以下查询在数据库上搜索记录 SELECT FROM hobby WHERE name LIKE Beading
  • Linq To SQL - 拥有和分组依据

    我下面这个查询工作正常 不过我想使用 Linq 来实现它 select u ID u NAME from Task t join BuildingUser bu ON bu ID BUILDING t ID BUILDING join Us
  • T-SQL:用最新的非空值替换 NULL 的最佳方法?

    假设我有这张表 id value 1 5 2 4 3 1 4 NULL 5 NULL 6 14 7 NULL 8 0 9 3 10 NULL 我想编写一个查询来替换任何NULL值与表中最后一个不为空的值在那一栏里 我想要这个结果 id va
  • 通过 osql.exe 运行脚本时出现问题

    我尝试以这种格式运行我的软件的更新脚本 osql exe i path to script U 用户 P 密码 S sqlserver 位置 d 数据库名称 n b 大多数脚本的格式相同 并且都以 GO 结尾 其中很多都运行得很好 但随机脚
  • 加密数据库字段的好方法?

    我被要求加密数据库中的各种数据库字段 问题是这些字段在读取后需要解密 我在用着Django and SQL Server 2005 有什么好主意吗 See 在 SQL Server 2005 数据库中使用对称加密 https web arc
  • SQL 2008全文索引填充延迟

    我的经理说 在基础表数据更改后 可能需要一段时间才能更新全文搜索索引 例如 如果我有一张桌子Products有一个柱子Description我更新了该描述 然后我可能需要一些时间才能搜索该新描述 真的吗 这需要多长时间 SQL 2008 对
  • 根据日期顺序排名

    我的数据如下 Heading Date A 2009 02 01 B 2009 02 03 c 2009 02 05 d 2009 02 06 e 2009 02 08 我需要如下排名 Heading Date Rank A 2009 02
  • 为什么使用 SQL Server 2008 地理数据类型?

    我正在重新设计客户数据库 我想要与标准地址字段 街道 城市等 一起存储的新信息之一是地址的地理位置 我想到的唯一用例是 当无法找到地址时 允许用户在 Google 地图上绘制坐标 这种情况通常发生在该地区是新开发的或位于偏远 农村地区时 我
  • SSIS 包卡在“已创建执行”状态

    我最近对我的一个 SSIS 项目部署了更新 自从该项目失败后 它就按计划运行了 SSIS 包似乎停留在 已创建执行 状态 报告中没有任何消息来解释这个问题 我尝试重新部署该项目 但结果保持不变 我最终不得不恢复到早期版本的部署以使系统重新上
  • st_intersects 与 st_overlaps

    这两个查询有什么区别 select a gid sum length b the geom from polygons as a roads as b where st intersects a the geom b the geom gr
  • H2 用户定义的聚合函数 ListAgg 不能在第一个参数上使用 DISTINCT 或 TRIM()

    所以我有一个 DB2 生产数据库 我需要在其中使用可用的函数 ListAgg 我希望使用 H2 的单元测试能够正确测试此功能 不幸的是H2不直接支持ListAgg 但是 我可以创建一个用户定义的聚合函数 import java sql Co
  • SQL Server 连接其他表中不存在的位置

    Service Asset AssetService Id Name Id Name AssetId ServiceId
  • 提高第一个查询的性能

    如果执行以下数据库 postgres 查询 则第二次调用要快得多 我猜第一个查询很慢 因为操作系统 linux 需要从磁盘获取数据 第二个查询受益于文件系统级别和 postgres 中的缓存 有没有一种方法可以优化数据库以快速获得结果fir
  • 获取带有计数的不同记录

    我有一张桌子personid and msg列 personid msg 1 msg1 2 msg2 2 msg3 3 msg4 1 msg2 我想得到总计msg对于每个personid 我正在尝试这个查询 select distinct
  • SQL查询查找表的主键?

    我怎样才能找到哪一列首要的关键使用查询来创建表 这是重复的question https stackoverflow com questions 893874 mysql determine tables primary key dynami
  • MYSQL从每个类别中随机选择一条记录

    我有一个数据库Items表看起来像这样 id name category int 有几十万条记录 每个item可以是 7 种不同的之一categories 对应于categories table id category 我想要一个从每个类别
  • 我不断收到错误“关系 [TABLE] 不存在”

    我一直在尝试查询数据库中的两个表 在服务器资源管理器中 我可以看到两个表 甚至可以看到其中的列 我们将它们称为 Schema table1 和 Schema table2 其中 Schema 的第一个字母大写 我尝试运行以下查询 selec

随机推荐

  • 如何在Makefile中设置子进程的环境变量

    我想更改这个Makefile SHELL bin bash PATH node modules bin PATH boot supervisor harmony watch etc lib extensions js json no res
  • 将 .NET DateTime 对象转换为 Javascript Date 对象

    我有以下问题 我从 SQL Server 检索 DateTime 对象 并通过 JSON 使用 ajax 将其传递给 Javascript 我在尝试将检索到的对象转换为 JavaScript 中的日期对象时遇到了困难 检索到的对象是一个值
  • SSRS:在两页报告上显示正确的执行时间?

    我只是想知道如何在报告上显示正确的执行时间 直到最近 我一直在报告的页脚中使用以下内容作为标签表达式 Execution Time IIf System DateTime Now Subtract Globals ExecutionTime
  • Jenkins 管道确定分支是否用于 Bitbucket 拉取请求

    我将 Jenkins 与Bitbucket分支源插件 一切都很好 但我希望能够根据分支是否与拉取请求关联来运行 排除管道中的某些阶段 例如 pipeline stages stage build compile stage package
  • iPad 分体式键盘

    我正在创建一个类似于 iPad 的 iMessage 应用程序的应用程序 用于发送消息 因此 当显示键盘时 有一个输入视图锚定在消息视图和输入附件视图的底部 此外 当键盘在停靠或脱离停靠时显示时 必须正确调整消息视图的大小 我遇到的问题是来
  • 检查对象是否是 Swift 中的给定类型

    我有一个由以下组成的数组AnyObject 我想迭代它 并找到所有属于数组实例的元素 如何在 Swift 中检查对象是否属于给定类型 如果您想检查特定类型 可以执行以下操作 if let stringArray obj as String
  • 编译boost时`threading=multi`到底做了什么?

    我不完全确定到底是什么threading multiflag 在构建 boost 时会起作用 文档说 Causes the produced binaries to be thread safe This requires proper s
  • 隐藏但仍用 GIT 保存分支?

    我有大量的分支 使用起来有点混乱 有时我不想完全删除该分支 但我暂时不会对其进行处理 在这种情况下 我采用了在分支前添加 前缀的约定 所以如果我从以下开始 branch1 branch2 branch3 当我完成了branch1但想保存它的
  • 阻止文本在网址中的句点上拆分为多行

    我有一个显示一些文本的 Android TextView 它是多行的 不过 在文中 我有时也会有域名 如何阻止 TextView 将行按句点分割 例如 是否有 unicode 不间断句点 要查看包装电子邮件地址时出现的问题 请运行 andr
  • 在 2d 环境中以百分比增量将对象从向量 A 移动到 B

    我知道向量 A 和 B 的坐标 如何计算这两个向量之间的第一个点 第一个向量 X 是向量 A 和 B 之间距离的 1 所以首先我将向量 A 中的对象移动到向量 B 1 附近 所以我需要计算向量 X 它是对象的新向量 直到它到达向量 B 你要
  • 从分隔文件加载数据到 mysql 表时跳过错误行

    我使用以下查询将数据从文本文件加载到 mysql 表 LOAD DATA INFILE myFile csv INTO TABLE some table COLUMNS TERMINATED BY OPTIONALLY ENCLOSED B
  • Jetpack Compose Navigation - 将本地文件位置作为字符串传递

    我正在尝试传递音频文件位置 storage emulated 0 Android media 作为第一个屏幕中的字符串home screen到第二个屏幕detail screen 当我正常传递上面的字符串作为参数时 我收到此错误 java
  • Python 进程使用的总内存?

    Python 程序有没有办法确定它当前使用了多少内存 我看过关于单个对象的内存使用情况的讨论 但我需要的是该进程的总内存使用情况 以便我可以确定何时需要开始丢弃缓存数据 Here是一个有用的解决方案 适用于各种操作系统 包括 Linux W
  • fetch response.text() 返回待处理的承诺

    我使用 jsonplaceholder URL 测试 fetch API 但我的函数返回 Promise State Pending 我不明白为什么 function getUsers url return fetch url const
  • CSS:删除选择元素内的填充

    我试图从选择元素中删除填充 以便其中的文本与其正下方的输入元素中的文本对齐 除其他外 我还尝试过以下操作 select padding left 0 有任何想法吗 JS小提琴在这里http jsfiddle net pLSkH 2 去除te
  • 当应用程序在后台运行时,如何让我的 AVPlayer 播放?

    我已经完成了我的作业 一直在阅读这里的文档 谷歌搜索 stackoverflowing 但是当用户让应用程序进入后台时仍然无法让我的声音保持不变 到目前为止我所做的 将 UIBackgroundModes 音频添加到 plist 文件中 首
  • 如何搜索redis哈希中的关键模式?

    我有一个哈希表 其键的模式为 USER TEL 如下所示 bob 123456 Some address mary 567894 other address john 123456 third address 现在 我想获取密钥中具有相同电
  • 使用 atos 通过 dSYM 确定崩溃的方法名称

    我有一个来自用户的控制台堆栈 不是崩溃报告 我试图确定我的应用程序中的哪个方法调用是最后一个站着的人 我知道他们使用的是哪个版本的应用程序 并且我有该发布 调试版本的副本 以及存档副本的 dSYM 文件 但是 当我尝试使用atos吐出内存地
  • React Native 响应式字体大小

    我想问一下如何反应原生处理或做响应式字体 例如 在 iphone 4s 中 我的 fontSize 14 而在 iphone 6 中 我的 fontSize 18 您可以使用像素比 例如 var React require react na
  • SELECT * INTO 在 SQL Server 2008 中保留 ORDER BY,但在 2012 中不保留

    在2008年和2012年执行以下SQL 在2008年执行时 返回的结果是正确的排序顺序 2012 年 排序顺序不再保留 这是已知的变化吗 2012 年是否有保留排序顺序的解决方法 CREATE TABLE MyTable Name VARC