oracle 中怎么把一个表中的数据完全复制到另外一个表?
Ps:两个表的结构一样。

解决方案 »

  1.   

    insert into table2 select * from table1;
    如果表不存在可以使用
    create table table2 as select * from table1;
      

  2.   

    建立一个dblink,你看看关于dblink的使用
      

  3.   

    那你就用pl/sql工具导出表数据,然后再导入就可以了
      

  4.   

    至少有四種方法
    請參考http://jack198409.itpub.net/
      

  5.   

    还是没搞掂,之前都是搞sql的,oracle刚开始用,
    可不可以具体点。
      

  6.   

      1、逻辑备份
          逻辑备份的工具叫Exp,完成将数据库指定对象的内容导出的任务。它导出的文件,必须由专门的恢复工具Imp来完成导入。
          语法:
          有以下方法查看帮助
          D:\>exp help=y
          如:
              emp 用户名/口令 参数1=值 参数2=值
          1)导出指定的表
             exp hr/hr file=导出文件名 tables=(表1,表2.....)
          2)备份一个用户(方案)下的所有对象,包括表、视图、过程、函数等
            a.自已进行备份
              exp hr/hr file=hr.dmp
            b.管理员来备份用户
              exp system/a123 file=hr_full.dmp owner=(hr,test....)
          3)备份整个数据库,所有的方案对象(除Sys的以外),一般常用做为生产系统的数据库备份方案。它可以保持用户间的一些关系(权限)
            exp system/123 file=full.dmp full=y
          
          exp常用参数
             buffer:缓冲区大小。
             log   :将备份时屏幕输出信息记录到文件,这个参数是指定输出日志文件。
           导入(逻辑恢复)工具 imp
         
        语法:
           imp 用户/口令 file=文件名 tables=表名
          
          按用户导入
           
            imp system/a123 file=文件名 fromuser=hr touser=新的用户名
           
          全部恢复(除sys以外所有的用户及对象都导入),需要先用dbca创建数据库。
           
            imp system/a123 file=文件名 full = y
            从全库备份中恢复一张表
            imp system/a123 file=文件名 fromuser=hr touser=hr tables=(表名)     参数:
             buffer:缓冲区大小。
             commit:指定为Y,导入部分记录后提交一次
             ignore:指定为Y,导入过程中会忽略“对象已经存在”这种错误。
         
        网络导出与导入    exp hr/hr@jjjj file=jjj.txt
        imp hr/hr@jjjj file=jjj.txt
    如:exp wcy/123 file=wcy.dmp tables=(BD,BD_DJXX,DM_DS_SWJGDM,DM_GDS,DM_GS_SWJGDM,DS_DJXX,DS_RKXX,GS_CB,GS_DJXX,GS_QS,GS_RK,GS_SB,GS_TS,GS_ZNJ,MYVAR,TJ_DJ,XT_GROUP,XT_GROUPPOWER,XT_GROUPUSER,XT_MENU,XT_USER)
    imp wcy/123 file=wcy1.dmp tables=(BD,BD_DJXX,DM_DS_SWJGDM,DM_GDS,DM_GS_SWJGDM,DS_DJXX,DS_RKXX,GS_CB,GS_DJXX,GS_QS,GS_RK,GS_SB,GS_TS,GS_ZNJ,MYVAR,TJ_DJ,XT_GROUP,XT_GROUPPOWER,XT_GROUPUSER,XT_MENU,XT_USER) ignore=y
      

  7.   

    copy from bm/bm123@erpora to bm/bm123@whora
    append 表名 --目標表
    using select * from 表名
      

  8.   

    用plsql  ,2个库为db1 和db2
    登陆db1
    insert into table2 select * db2.from table1;
      

  9.   

    最简单的方法:create table 新表 as select * from 旧表 ;
      

  10.   

    假設在DB1中有表TABLE_TEST
        在DB2中有表TABLE_TEST 
    創建DB2到DB1的DBLINK
      SQL>create database link DB2_TO_DB1
          connect to DB1_USERNAME identified by DB1_PASSWORD         
          using 'DB1';
      --然後在DB2中
      SQL>INSERT INTO TABLE_TEST SELECT * FROM TABLE_TEST@DB2_TO_DB1