0

有谁知道 Microsoft SQL 中的一种方法,您可以通过脚本修改表格,但保持表格的顺序。

例如:

表格1:

:Column6
:Column5
:Column4
:Column3
:Column2
:Column1

假设我想添加:Column7,但我希望订单仍然在 7、6、5、4、3、2、1

我知道它可以删除表并重新创建或手动进入设计器并添加 column7,当在 6 以上插入 Column7 时,它将保持它的顺序。

我想要一种通过脚本来升级客户的有效方法,订单很重要,因为当手动分析数据时,当它在 X 订单中已经存在多年时,它很容易。设计器非常适合添加列,但会导致许多错误被遗忘或错过输入。

好奇是否有其他人遇到过类似的情况,以及他们是如何解决的。

4

2 回答 2

1

仅添加列然后使用视图以您想要的顺序获取列怎么样?

alter table t add column7 . . .;

create view v_t as
    select column7, column6, column5, column4, column3, column2, column1
    from t;

这甚至是一个可更新的视图,因此您可以insert在不指定列(我反对)或使用bulk insert.

于 2021-03-15T14:50:38.250 回答
1

列顺序在 MSSQL 中不应该真正成为一个问题,除非您将列顺序用于非常特定的用例。如果在插入或选择语句中用于“插入”目的,您始终可以修复列顺序。作为参考,我相信这个问题之前已经被问过,这里是原始堆栈溢出问题的链接,我会在这里滚动浏览一些答案。

如何在 sql server 2005 中使用 sql 查询更改表中的列顺序?

于 2021-03-15T16:12:50.170 回答