利用 dbms_redefinition包来实现重定义字段的顺序
需要确定表是否可以做online redefinination,表需要主键等

解决方案 »

  1.   

    可以使用create table as select ...来进行标的重建,之后使用rename语句进行对象的重命名,这样调整顺序比较简单,但是表上相关的触发器需要重建.
      

  2.   

    首先不要问能不能改变表的字段顺序,首先问一下为什么要改?你的应用为什么要依赖表的字段顺序?你可以按照任何你想要的顺序来select,也可以通过建立视图获得你想要的字段顺序排列。
      

  3.   

    合不合理不重要,至少很多人需要。
    很少一开始就把表设计得很完美,加字段是很正常的,特别是字段非常多时,想把新加的字段放在合适的位置,相关的字段放一起,这样看起来比较舒服,无他。
    sqlserver有这样的功能,oracle不可以,但应该有他的理由。