不可能的。oracle中表新加的列只能在最后。
如果确实想放在中间,只能建新表了,create table new_table as select ..... from old_table

解决方案 »

  1.   

    为什么一定要在两个字段中间添加一个字段?字段顺序那么重要吗?做是能做到,先将原先的表改名(包括索引之类的),然后重新建表,再用insert into ... select ... from ...将数据插入新建的表。如果是在线系统,就必须要停机。
      

  2.   

    SQL> create table a(a1 varchar2(2),a2 varchar2(2));Table created.SQL> 
    SQL> insert into a values('1','a');1 row created.SQL> 
    SQL> rename a to aa;Table renamed.SQL> 
    SQL> create table a(a1 varchar2(2),a3 varchar2(2),a2 varchar2(2));Table created.SQL> 
    SQL> insert into a(a1,a2) select a1,a2 from aa;1 row created.SQL> COMMIT;Commit complete.SQL> SELECT * FROM A;A1 A3 A2
    -- -- --
    1     a
      

  3.   

    alter table your_table add your_field
    可在界面视图中更改次序。