1
3
你不能这么做——一个SQL Server表真的不知道列的顺序——元组代数中没有顺序,这是关系数据库系统的基础。 SQL Server Management Studio向您展示的只是它自己的显示“优化”——您可以在那里更改它,但是标准的SQL数据定义语言(DDL)语句没有“列顺序”的概念——您不能更改表以将列移动到其他位置。 如果在SSMS中更改列的显示顺序,则在后台执行的操作是将旧表重命名为临时名称,使用指定顺序的列创建新表,然后围绕数据进行复制。这就是为什么修改一个大表上的列顺序几乎要花上一辈子的时间——这不仅仅是一个简单的要执行的DDL语句——这是一项重大的任务。 马克 |
2
0
SQL Server Management Studio和其他大名鼎鼎的工具(如Redgate)的做法是创建新的临时表,复制信息,然后删除旧表(先删除约束和唯一索引),将临时表重命名为旧表名,然后重新添加任何约束和索引。你真的不能重新订购已经存在的东西。 下面是一个例子:
|
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
SoT · SQL Server中求和函数的工作方式 2 年前 |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |