如何调整oracle 表中字段的位置

时间:2022-08-22 10:54:35

   经常遇到要在某个表里增加字段。只能增加到最后,如果想增加到中间某个位置,除非drop掉重新创建。这样表里的记录就全部没有了。有没有工具直接可以 把新增字段插入到原表的任意位置,而且 表里的字段位置可以随意调整。请大家指教,谢谢!



17 个解决方案

#1


有必要么,建个视图不就好了

#2


是不太好解决这个问题,字段默认顺序好象只能加到最后面。

#3


ORACLE中是不记录字段的位置的,新加的字段就是默认在最后面,没有办法,
要么删除表重建,要么建视图。。。。

#4


表的字段的顺序不关事啊,你干吗要理它的顺序??大不了你select出来的时候调整一下顺序不就行了

#5


我在这种情况也是先drop,然后重建。。。

#6


引用楼主 summer_cn 的回复:
        经常遇到要在某个表里增加字段。只能增加到最后,如果想增加到中间某个位置,除非drop掉重新创建。这样表里的记录就全部没有了。有没有工具直接可以   把新增字段插入到原表的任意位置,而且   表里的字段位置可以随意调整。请大家指教,谢谢!

字段位置就那么重要吗?
你select时自己排字段位置不就可以了啊?

oracle alter table详解

#7


楼上有理

#8


貌似没有太好的办法,如果非要调整的话,只能绕个圈子.
比如表emp,含字段empno,ename,sal,现在你想增加manager到ename和sal之间.
只能先增加manager,再增加sal1
update下,把sal1更新为sal,sal值更新为null,然后drop sal,再增加sal,将sal值更新为sal1,sal1更新为null,然后drop sal1.
这样默认排序就调整过来了.
不过如6楼所言,意义貌似不大.

#9


不知道楼主为什么要这么要求

#10


当真意义不大?

#11


没有必要!

#12


不好整。基本都是靠。select 字段名直接列出来的。

#13


想当年确实是有方法可以改顺序的,具体方法不太记得了,2年前试过一次!百度一下,肯定能找到方法的

#14


规范语法都是要写字段名的。

#15



字段顺序 好象必须重建哦

#16


存储顺序,不影响查询顺序。
想怎么查,都可以在查询的时候写定顺序。

#17


重建表。或者要该系统表,但是后果。。。 用视图还是最好的选择!

#1


有必要么,建个视图不就好了

#2


是不太好解决这个问题,字段默认顺序好象只能加到最后面。

#3


ORACLE中是不记录字段的位置的,新加的字段就是默认在最后面,没有办法,
要么删除表重建,要么建视图。。。。

#4


表的字段的顺序不关事啊,你干吗要理它的顺序??大不了你select出来的时候调整一下顺序不就行了

#5


我在这种情况也是先drop,然后重建。。。

#6


引用楼主 summer_cn 的回复:
        经常遇到要在某个表里增加字段。只能增加到最后,如果想增加到中间某个位置,除非drop掉重新创建。这样表里的记录就全部没有了。有没有工具直接可以   把新增字段插入到原表的任意位置,而且   表里的字段位置可以随意调整。请大家指教,谢谢!

字段位置就那么重要吗?
你select时自己排字段位置不就可以了啊?

oracle alter table详解

#7


楼上有理

#8


貌似没有太好的办法,如果非要调整的话,只能绕个圈子.
比如表emp,含字段empno,ename,sal,现在你想增加manager到ename和sal之间.
只能先增加manager,再增加sal1
update下,把sal1更新为sal,sal值更新为null,然后drop sal,再增加sal,将sal值更新为sal1,sal1更新为null,然后drop sal1.
这样默认排序就调整过来了.
不过如6楼所言,意义貌似不大.

#9


不知道楼主为什么要这么要求

#10


当真意义不大?

#11


没有必要!

#12


不好整。基本都是靠。select 字段名直接列出来的。

#13


想当年确实是有方法可以改顺序的,具体方法不太记得了,2年前试过一次!百度一下,肯定能找到方法的

#14


规范语法都是要写字段名的。

#15



字段顺序 好象必须重建哦

#16


存储顺序,不影响查询顺序。
想怎么查,都可以在查询的时候写定顺序。

#17


重建表。或者要该系统表,但是后果。。。 用视图还是最好的选择!