oracle导入导出单个表的办法

原创 2013年12月02日 13:34:31

1.首先是导出几张表的数据、结构;可以用plsql工具,也可以用命令。

plsql工具:


命令:

导出数据库:
操作:运行:cmd 然后输入:
exp lw/lw@ORCL file=d:\lw.dmp tables=(tablename1,tablename1) owner=(lw);

2.导入数据库
操作:运行:cmd 然后输入:根据主外键顺序来导入数据,不然是导入不全的。
imp username/password@本地net服务名 file=xxx.dmp fromuser=energy touser=energy1 tables=(tablename)  ignore=y;

ignore=y加上这个有表的情况下忽略,也就是出现相同记录的忽略,没有记录的插入。这样问题又来了相同记录需要更新怎么办?


3.更新数据库:

A.在本地建立一个用户test,记住表空间名称需要一样的。

imp username/password@本地net服务名 file=xxx.dmp fromuser=energy touser=test full=y;

直接全部导入数据库

B.在真正需要导入数据库里建立几个临时表,可以根据表结构sql来创建,只保留主键就行了,外键不用。

然后把用户test的表查询的数据全部复制,粘贴到临时表里:

写一个存储过程:

create or replace procedure CHECK_DATA
is
 type sp_test1_cursor is ref cursor;
         cur_m_energy sp_test1_cursor;
        ENERGYNO_TEMP M_ENERGY_TEMP.ENERGYNO%type;
    begin
     open cur_m_energy for  select
    ENERGYNO
    from M_ENERGY_TEMP ;
      Loop
        fetch cur_m_energy
          into ENERGYNO_TEMP;
        exit when cur_m_energy%NOTFOUND;
      
          update TEST1 a
             set a.ENERGYNAME = (select ENERGYNAME from M_ENERGY_TEMP t where t.energyno=ENERGYNO_TEMP ),
             a.ENERGYUNIT=(select ENERGYUNIT from M_ENERGY_TEMP t where t.energyno=ENERGYNO_TEMP ),
             a.ENERGYTYPE=(select ENERGYTYPE from M_ENERGY_TEMP t where t.energyno=ENERGYNO_TEMP ),
             a.REMARK=(select REMARK from M_ENERGY_TEMP t where t.energyno=ENERGYNO_TEMP ),
             a.STATUS=(select STATUS from M_ENERGY_TEMP t where t.energyno=ENERGYNO_TEMP ),
             a.SORTNO=(select SORTNO from M_ENERGY_TEMP t where t.energyno=ENERGYNO_TEMP )
           where a.ENERGYNO = ENERGYNO_TEMP;
          commit;
      end loop;
    close cur_m_energy;

end CHECK_DATA;


sql窗口执行就可以了:call  CHECK_DATA();



cmd窗口也可以:

sqlplus

输入账号,密码 执行存储过程

exec CHECK_DATA();




Oracle导出表(即DMP文件)的两种方法

方法一:利用PL/SQL Developer工具导出: 菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可: 方法二:利用cm...
  • lanpy88
  • lanpy88
  • 2012年05月18日 16:17
  • 375683

Oracle导出导入指定表

从源数据库导出:exp user1/pwd@server1 file=c:\temp\exp.dmp tables=(table1, table2)导入到目标数据库:imp user2/pwd@ser...
  • leftfist
  • leftfist
  • 2016年01月27日 19:19
  • 10663

Oracle导出表结构至Excel

为了整理复杂的系统数据表结构,方便以后研发人员工作,特此整理数据字典。 oracle表结构涉及到几个关键的系统表: cols –系统表 user_col_comments –表名、列名、说明 u...
  • u013709087
  • u013709087
  • 2017年06月07日 15:11
  • 2369

Oracle导出表(即DMP文件)的两种方法

方法一:利用PL/SQL Developer工具导出: 菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可: ...
  • u013380777
  • u013380777
  • 2016年10月18日 17:14
  • 485

Oracle--oracle导出表结构到sql文件 ,数据库的导入导出CMD命令exp和imp、使用数据泵导入(impdp)和导出(expdp)

周六写
  • oChangWen
  • oChangWen
  • 2016年04月14日 17:53
  • 5821

Oracle导出表(即DMP文件)的两种方法

方法一:利用PL/SQL Developer工具导出: 菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可: ...
  • qq_21909121
  • qq_21909121
  • 2016年07月28日 15:07
  • 438

oracle中导出导入表以及数据

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用...
  • jimmy609
  • jimmy609
  • 2012年07月31日 11:27
  • 51830

oracle导入导出表及表结构

sqlplus 进入数据库中 导出 直接在命令行下写命令 1.导出自己的表   exp userid=scott/tiger@myoral tables=(emp,dept) file=/opt/e1...
  • wwww1988600
  • wwww1988600
  • 2013年11月04日 10:50
  • 45696

Oracle导入单张表

利用cmd   cmd 命令 imp gengbao/gengbao@orcl file=dd.cmp tables=(table1,table2)
  • hugaozhuang
  • hugaozhuang
  • 2014年06月05日 15:52
  • 4697

Oracle用命令行 导出、导入一个用户所有表数据和表结构(存储过程啊,视图啊等等)

导出表数据以及表结构(以Oracle11g为例)命令行: exp 用户名/密码@数据库名字 owner=用户名 file=dmp文件存储位置(即导出文件为.dmp文件) 导入表数据以及表结构(以O...
  • maple_fix
  • maple_fix
  • 2017年07月27日 09:33
  • 1869
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle导入导出单个表的办法
举报原因:
原因补充:

(最多只允许输入30个字)