数据库用的是Oracle8.0:
有两张同名的表,旧表和在旧表基础上加上多个字段的新表,现在客户要求把旧表中的数据放到新表中去,但两张表的结构不同(新表字段包括旧表字段),数据大概有4万条左右。
   我使用
       insert into user1.db(字段1,字段2,...) select 字段1,字段2,... from user2.db;
 也插入成功了,在数据库服务器上也能查的出来,但是在项目中使用查询操作时查不出这些数据来....
        
   试问如何解决该问题,该项目不是我本人开发的。
          这些数据的字段数有70多个,上面的方法很慢,会不会因为短时间大量数据的插入而导致数据库的承载能力而死机什么的。
    求更合适的解决方法,谢谢!!!!

解决方案 »

  1.   

    全部插入完成后commit后其他session查詢才會得到數據。和映射沒關係
      

  2.   

    可能是因為新表裏面有索引和外鍵約束我們項目的做法是直接create table tablename as select ..
    然後補加索引約束之類。
      

  3.   

    这个方法好像对我这个项目可能不行,因为这是在不同用户下的两个同名的表,表里面都有数据丫!
        还有个问题麻烦问一下:
          insert into user1.db(a,b,c,d,...) select a,b,c,d,... from user2.db;
        我用这个方法做的话,我试插一条数据的时候就是可以的,而不做任何限制的话,一次性把所有的数据全移过去就会出错,   
         请教这个问题应该怎么解决???? 
       谢谢
      

  4.   

    对了,是索引的问题,我把索引删掉是可以了!
       不过还是这个问题,如果我一次性地把所有的数据移过去的话,会不行的,好像是数据量的问题,报错:
        MAX # (121)....
         大概是这样的,不是数据条数的问题,是数据量的问题,是不是可以从某个地方设置传输的大小??
       请教,  
        我现在所采用的方法是,用rownum来控制,把已过去的数据从老表里删去.....