1、我目前有表A (NO,col2,col3,col4...), 表B(NO,col2,col3,col4...),
           表C (NO,col2,col3,col4...),  表D (NO,col2,col3,col4...),
  我想把表B,表C,表D 里面的数据全面插入到表A中。表中的NO是可以重复的,
还有表结构不一定相同,表定义也不同,会不会有影响,要怎样做才会OK,求
完整的语句,谢谢!2、我从excel表里面导入数据到Access 里面,再从Access 导入到Oracle里面,
  里面的中文数据在Oracle 里面显示乱码。

解决方案 »

  1.   


    insert into A
    select * from B;
    这样子应该可以,问题是如果b表的某个字段大小比你a表定义的还大 肯定是会出错的
      

  2.   

    首先呢 把表A的所有字段定义为varchar2(~) 最长的 然后 insert into A
    select NO,col2,col3,col4
    from B
    union all
    select NO,col2,col3,col4
    from C
    union all
    select NO,col2,col3,col4
    from d;
    当然 如果你要是需要把表 B C D 的合计(排除有相同的数据)插入到A表中 insert into A
    select NO,col2,col3,col4
    from B
    union 
    select NO,col2,col3,col4
    from C
    union 
    select NO,col2,col3,col4
    from d;
    union 是去掉重复记录 这样你的A表将是b CD的合集
      

  3.   

    修改下a表的表结构表定义  ,或者通过函数处理b,c,d的数据。插入就可以了 。
    还有就是用plsql可以直接吧excel表导进oracle数据库的,把excel另存成文本格式在导入就行了。
      

  4.   


    excel直接导入oracle需要excel列和表结构相同还是用工具好点 XlsToOra
      

  5.   

    用plsql编程来实现吧
    用游标把表b,c,d中的数据取出来然后再插入到表a中