加一列没有问题,但不要使用default,否则时间会巨长

解决方案 »

  1.   

    insert into tbname_new(col2,col3...)  --不选择新加的那一列就行了,字段多也没有什么好办法
    select * from tbname_old;
      

  2.   

    直接写SQL语句就行,不过字段太多写起来麻烦,
    如果你用过PB,可以试试PB的DATA PIPELINE
    它可以自动建立字段间的对应关系。
      

  3.   

    同一个数据库中从一个表导到另一个表,有何高招?
    觉得sql 语句太慢了
      

  4.   

    其它方法也是以SQL语句为基础,还有比它更快的吗
      

  5.   

    自己拼凑一下Sql语句,没有其他的好办法了,从系统视图里面来就快了,也不影响正确性如:
    select column_name||',' from cols where table_name=yourtablename;
    然后就是拷到写字板里组合一下了,也不累,要是一个个写就累晕了!呵呵!
      

  6.   

    insert into /*append*/ tab_new select (col1, col2,...) from tab_old;
      

  7.   

    用pl/sql导出这个表,用insert模式,把增加字段的表建好,再导入这个表
      

  8.   

    先删除新表的那列
    然后使用insert into newtable (select * from oldtable)
     再加上那列就可以那
      

  9.   

    如果只是添加一列应该没有什么问题,停掉所有的触发器以及约束条件,就可以直接添加了,而且所添加的列的位置是在表的最后一列,如果你的应用中不存在 select * from your_table_name 这样的语句应该就不会有影。如果你一定要重建一个表的话,那在建表后使用如下的语句可以提高插入的效率:insert into your_new_table select '第一列的值',old_col1,old_col2,...old_coln from old_table nologging;
    (一定要加nologging这是提高效率的关键)