如题,如何在数据表的字段之间追加新字段,而不是在数据表现有字段的后面追加。
如:field1,field2,field3,field4 在field1和field2之间追加个field5字段,请问如何能实现,还望大虾们不吝赐教阿。
追加后为:field1,field5,field2,field3,field4

解决方案 »

  1.   

    这个好像不行的吧,可以吧数据备份一下,然后drop表重建一下。
      

  2.   

    回答: kinglht(爱新觉罗至尊宝) ( ) 信誉:100  2007-09-06 16:50:46  得分: 0  
     
     
       这个好像不行的吧,可以吧数据备份一下,然后drop表重建一下。
      
     
    由于数据表中的字段太多,上百个,所以重建表也不太容易
      

  3.   

    一般的数据库工具都提供提取sql语句的功能,比如pl/sql developer
    修改一下表名,或简简单单加个下划线..
    建好表后就可以用insert into copy_table select * from original_table
    备份了..应该有更简单的办法,不过刚刚接触数据库,不清楚.
      

  4.   

    TO:hunter_jr() 
    用insert into copy_table select * from original_table这条语句会把原表中的field2数据插入到新表中的field5中,就破坏了原有数据了。
      

  5.   

    insert into copy_table(field1,field2,field3,field4) select field1,field2,field3,field4 from orignal_table
    这样就好了
      

  6.   

    insert into New_table(field1,field2,new_filed,field3,field4) select field1,field2,'new.....',field3,field4 from old_table表的字段,可以从数据字典里面读取出来的。
    很多工具都可以做到的。没有你想想得那么复杂吧。
      

  7.   

    按照Tom大哥的教诲,想知道你为啥有这种需求。很可能不需要把字段加入到中间就可以解决问题。(当然你为了观赏的需求除外。)当然上面各位仁兄的方法都能达到要求,不过都有一个问题:不能保证数据的连续性,就是说执行上述语句的时候,使用这个表的用户会受到影响。
      

  8.   

    强烈推荐大家看看Tomas大叔的书,1.这样做除了看着舒服外毫无实质性的内容,研究这样的实现纯粹浪费时间.
    2.如果真的需要排序看着美观,完全可以通过重现一个oracle的视图来实现.当然,这样的观点可能会引起大家的反感,但我认为事实如此,也比较推崇他的观点..
      

  9.   

    为啥非要在中间插入字段呢,还要保持数据连续性。
    最大限度就是展现数据的适合麻烦一些。再说,展现数据的适合,也不推荐使用select *