我现在需要做一个备份表,原表A中的数据已经存在,现在需要一个表B,如何将表A中的数据导入表B;
第一表名不一样,第二表B已经存在,且是空表请问大家怎么做?谢谢~~

解决方案 »

  1.   


    1)B表存在的话
    insert into b select * from a where ....
    2)B表不存在的话
    create table b as select * form a where 1=1 
      

  2.   

    insert into b(f1,f2)
    select f1,f2 
    from a
      

  3.   


    可以用上面这样的方法。
    也可以用exp和imp工具进行导出和导入。
    创建导出文件exp.txt,内容是:
    userid=username/passwd
    buffer=4096000
    log=exp.log
    file=data216_20090120_IS.dmp
    STATISTICS=none
    ROWS=Y
    TABLES=(A)
    执行该脚本命令:exp parfile=exp.txt;然后创建导入脚本imp.txt
    userid=username/passwd
    buffer=4096000
    log=imp.log
    file=data216_20090120_IS.dmp
    fromuser=src_username
    touser=dest_username
    执行导入命令:
    imp parfile=imp.txt;
      

  4.   

    insert into b select * from abtw: cosio 好久没来了...
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    Q Q 群:62697716
      

  5.   

    很多方法,insert into是最简单最基础的语法了。。建议楼主多看看SQL 基础知识
      

  6.   

    顶一下:insert into b select * from a
      

  7.   

    最简单的:i B(f1, f2, f3, ...) select (f1, f2, f3, ...) from A;
    当然,也可以像3楼说的那样,先导出表A的数据(文件名后缀为.dmp),然后将上面导出的文件导入到表B:exp 数据库用户名/数据库用户密码@连接的数据库实例名称 file=文件存放路径(文件拓展名为.dmp) log=test.log tables=A;imp 数据库用户名/数据库用户密码@连接的数据库实例名称 file=上面文件存放路径(文件拓展名为.dmp) tables=B;
      

  8.   

    create table b as select * form a