如何在sql server中重新排列列顺序?
现在,当我在物理上右键单击并获取属性时,我的列显示如下: 在sql server 2005中
colA1
colA2
colA3
colA4
colB1
colB2
colB3
colA5
colA6
因为我知道这些列(colA5,colA6)是新建的!
如何制作这样的?
colA1
colA2
colA3
colA4
colA5
colA6
colB1
colB2
colB3
答案 0 :(得分:6)
移动列涉及大量DDL,实际上并没有做任何事情。
如果表格当前为空,那很好......但是如果它有大量数据,这可能会非常非常痛苦。如果表格目前正在复制:甚至更糟。
IMO,你应该在SELECT
声明中处理这个问题:
SELECT colA1, colA2, colA3, colA4, colA5, colA6, colB1, colB2, colB3
FROM TheTable
答案 1 :(得分:4)
您是否可以使用基于表格的视图来获得所需的输出?那是我的第一反应。
答案 2 :(得分:3)
右键单击表格,选择“设计”,然后向上或向下拖动列。
答案 3 :(得分:1)
您可以在设计器(SSMS)中轻松地完成此操作 - 只需将列拖动到正确的顺序然后保存 - 在后台它将编写脚本并重新创建表。
但为什么你需要这样做?除了使设计师看起来很漂亮之外,列的顺序没有任何影响。