当使用“ ALTER TABLE tab ADD col”时,新列将添加到表的末尾。例如:
TABLE: TAB COL_1 COL_2 COL_4 ALTER TABLE TAB ADD COL_3
桌子会变成
TABLE: TAB COL_1 COL_2 COL_4 COL_3
但是,正如我的示例列的命名所暗示的那样,我实际上希望表最终像这样:
TABLE: TAB COL_1 COL_2 COL_3 COL_4
在COL_4之前使用COL_3。
除了从头开始重建表之外,是否还有任何标准的SQL可以完成工作?但是,如果没有标准的SQL,我仍然可以使用一些与供应商相关的Oracle解决方案,但是最好还是使用标准解决方案。
谢谢。
默认情况下,仅在末尾添加列。
要在中间插入一列,您必须删除并重新创建表和所有相关对象(约束,索引,默认值,关系等)。
有几种工具可以帮助您完成此操作,并且根据表的大小,这可能是一项繁重的操作。
您还可以考虑在表上创建按优先顺序显示列的视图(覆盖表中的实际顺序)。