![]() |
1
68
在不创建新表的情况下,不能通过编程(以安全的方式)来执行此操作。 当您提交重新排序时,Enterprise Manager所做的就是创建一个新表,移动数据,然后删除旧表,并将新表重命名为现有名称。 如果希望列按特定顺序/分组,而不改变它们的物理顺序,则可以创建一个视图,该视图可以是您想要的任何视图。 |
![]() |
2
39
我认为这里每个人都缺少的是,虽然不是每个人都必须处理10、20或1000个安装在全国和世界各地的相同软件系统的实例…我们这些设计商用软件的人就是这样做的。因此,我们随着时间的推移扩展系统,通过在需要新功能时添加字段来扩展表,并且当这些字段被识别时,它们确实属于现有表,因此,经过十年的扩展、增长、向表中添加字段等等……然后必须处理这些表,从设计、支持到有时挖掘原始数据/故障排除,以调试新的功能缺陷……如果在前几个字段中没有您希望看到的主要信息,这是非常严重的,因为在严格规范化的数据库中,您可能有包含30-40-50甚至90个字段的表,并且是的。 出于这个确切的原因,我常常希望我能做到这一点。但是,除了执行SQL所做的操作外,还没有按照我想要的方式为新表构建一个创建脚本,将插入内容写入新表,然后从现有表中删除所有现有约束、关系、键、索引等,并将“新”表重新命名为旧名称,然后读取所有这些键、关系、索引等…… 不仅冗长费时而且…再过五年,就需要再次发生…… 这是如此接近价值的大量工作,然而重点是…这将不是我们最后一次需要这种能力,因为我们的系统将继续增长、扩展,并在需要/设计添加的驱动下得到一个古怪的有序字段。 大多数开发人员都是从一个单一的系统的角度来考虑,这个系统服务于一家公司或一个非常特定的硬盒市场。 “现成的”,但显着进步的设计师和领导者的发展在他们的市场空间将永远不得不处理这个问题,一次又一次……如果任何人有一个创造性的解决方案。这很容易使我的公司一周节省十几个小时,而不必滚动查看,或者记住源数据表中的“那个”字段。 |
![]() |
3
5
如果我理解您的问题,您希望影响在 现有的 查询,对吧?
如果所有的查询都是用
如果您的查询是用
|
![]() |
4
3
当ManagementStudio执行此操作时,它将创建一个临时表,跨表复制所有内容,删除原始表并重命名临时表。没有简单的等效T-SQL语句。 如果您不想这样做,您可以创建一个表视图,其中的列按照您想要的顺序排列,然后使用它? 编辑:打败! |
![]() |
5
1
有一种方法,但它只是暂时用于查询本身。例如,
假设你有5张桌子。
表称为
firstname、firstname、phonenumber、email和会员ID 你想让它列出他们的ID,姓氏,名字,电话,电子邮件。 您可以根据选择进行操作。
除此之外,如果出于某种原因只希望姓氏显示在名字之前,也可以按以下方式进行:
唯一需要确保的是,如果要使用where或orderby,则需要将orderby或where函数表示为table.column。 例子:
我希望这有帮助,因为我需要自己去做。 |
![]() |
6
1
脚本真正要做的就是用所需的列顺序创建第二个表,将所有数据复制到其中,删除原始表,然后重命名第二个表以取代它。这确实节省了您自己编写的时间,不过如果您需要部署脚本的话。 |
![]() |
7
0
|
![]() |
8
0
如果不重新创建整个表,就无法更改列的顺序。如果您只有几个数据库实例,则可以使用SSMS进行此操作(选择表并单击“设计”)。 如果手动流程的实例太多,则应尝试以下脚本: https://github.com/Epaminaidos/reorder-columns |
![]() |
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
![]() |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
![]() |
SoT · SQL Server中求和函数的工作方式 2 年前 |
![]() |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
![]() |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
![]() |
snowflakes74 · 在Dapper中异步查询多个结果 3 年前 |