oracle如何向一张表导入另一张表的部分数据 20

比方old和new表表结构不同的,都有对方没有的列old表很大只需要一部分列,还有一些限定条件如何写啊... 比方old 和new 表 表结构不同的,都有对方没有的列 old表很大只需要一部分列,还有一些限定条件 如何写啊 展开
 我来答
59分粑粑分享生活
高粉答主

2020-04-19 · 专注生活好物分享,解答日常方方面面的问题
59分粑粑分享生活
采纳数:326 获赞数:119819

向TA提问 私信TA
展开全部

实现的方法和详细的操作步骤如下:

1、第一步,如果要从Oracle实例orcl导出多个dmp文件表,则在打开cmd窗口后,首先设置环境变量以将Oracle实例切换为orcl(设置ORACLE_SID
 = orcl),然后登录到sqlplus
 ,如下图所示,然后进入下一步。

2、其次,完成上述步骤后,可以使用sql语句“select * from dba_directories”以查看当前实例下可用的dmp导出目录。
 导出dmp文件时,可以选择其中之一,如下图所示,然后进入下一步。

3、接着,完成上述步骤后,退出sqlplus并使用命令“expdp”导出需要的数据库表dmp文件,如下图所示,然后进入下一步。

4、最后,完成上述步骤后,就可以将该文件导入实例orcl中的另一个用户,如下图所示。这样,问题就解决了。

浪小客
高粉答主

2019-05-10 · 21世纪是需要思想碰撞的
浪小客
采纳数:1 获赞数:634905

向TA提问 私信TA
展开全部

1、如果我们要从Oracle实例orcl导出几个dmp文件表,那么在打开cmd窗口之后,首先设置环境变量以将Oracle实例切换到orcl(设置ORACLE_SID = orcl),然后登录到sqlplus。

2、登录到sqlplus后,您可以使用sql语句:select * from dba_directories以查看当前实例下可用的dmp导出目录。我们可以在导出dmp文件时选择其中一个。

3、退出sqlplus并使用命令expdp导出我们需要的数据库表dmp文件:expdp EVGIS / EVgis_123 $ @ orcl tables = EV_VERSION,EV_VERSIONFILE directory = DATA_PUMP_DIR dumpfile = test.dmp logfile = test.log。 EVGIS / EVgis_123 $ @ orcl表示用户名/密码@实例名称。

4、导出dmp文件后,我们可以将文件导入实例orcl中的另一个用户。

导入命令:impdp学生/学生目录= DATA_PUMP_DIR table_exists_action = replace dumpfile = test.dmp logfile = test.log remap_tablespace = GIS:Student remap_schema = EVGIS。

Remap_tablespace表示表所在的表空间更改,冒号前面的原始表空间名称,冒号中的目标表空间名称; remap_schema表示更改后的表的用户,冒号前面的原始用户名,冒号后是目标用户名。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东城杨柳弄春柔
2018-10-10 · TA获得超过452个赞
知道答主
回答量:112
采纳率:0%
帮助的人:3.1万
展开全部

oracle数据库实现一张表的数据导入到另外一个数据库的表中的方法有很多,在这介绍两个。

第一种,把oracle查询的数据导出为sql文件,执行sql文件里的insert语句,如下:

第一步,导出sql文件:

第二步:用PL/Sql Developer 连接另外一个oracle数据库,打开这个sql文件,全选所有insert语句,执行所有插入sql语句即可:

这种方法试用于插入大多数的数据库,无论是oracle数据库还是sql server数据库都可执行这个sql文件(全是insert语句)。

缺点是:当数据量大的时候,oracle数据库执行这些insert语句,效率会很低。

于是,接下来介绍第二种导入数据的方法,即:导出/导入CSV文件。

第一步,在Pl/Sql Developer查询窗口查询数据,导出成CSV文件:

导出的csv文件如下图:

第二步,把这个csv文件里的数据导入到另外一个数据库里,

用PL/Sql Developer 连接另外一个oracle数据库,

菜单-工具-文本导入器:

第三步,点击“文本导入器”窗口里,点击导入按钮:

第四步,选择导入CSV文件:

导入后,界面如下:

第五步,选择“到Oracle的数据”选项卡,点击下拉框选择“所有者”,点击下拉框选择要导入的表,选择“覆盖重复”,点击“导入”按钮:

导入成功入下图:

点击“关闭“按钮,新建查询窗口,查询数据,验证导入是否成功:

总结:如果是oracle数据库,推荐使用第二种方法,比第一种方法的效率高很多。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
推荐于2017-09-03 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部

需要用insert into ... select... where  语句来执行:

如原表中有如下数据:

emp表中有如下数据,其中要将empno为7369的empno和ename插入到test表中。

可以用如下语句:

insert into test (id,name) select empno,ename from emp where empno=7369;
commit;

结果如下,其中红框部分为新加的数据:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
twvampire
2013-08-12 · TA获得超过3620个赞
知道大有可为答主
回答量:3029
采纳率:76%
帮助的人:2965万
展开全部
不知道你具体想干什么,如果只是简单的插入数据的话,用
insert into new(列名1,列名2)
select 列1,列2
from old
where 限定条件
就可以了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式